我正在使用載波,導軌和亞馬遜s3。每次我保存的圖像,圖像中的S3顯示了,我可以用名字像這樣看到它在管理控制檯:amazon s3和carrierwave隨機圖像名稱桶中的數據庫不匹配
https://s3.amazonaws.com/bucket-name/ uploads/images/10/888fdcfdd6f0eeea_1351389576.png
但在模型中,這個名字是這樣的:
https://bucket-name.s3.amazonaws.com/ uploads/images/10/b3ca26c2baa3b857_1351389576.png
首先,爲什麼隨機名稱不同?我生成它上傳像這樣:
def filename
if original_filename
"#{SecureRandom::hex(8)}_#{Time.now.to_i}#{File.extname(original_filename).downcase}"
end
end
我知道這是不是產生一個隨機字符串,每次調用,因爲在模型中的錯誤的URL是一致的,並保存。在圖像名稱保存併發送到亞馬遜S3的過程中,在該過程中的某個地方必須生成一個新模型以保存在模型中。奇怪。
另外,我可以讓url匹配s3/bucket而不是bucket.s3而不使用正則表達式嗎?在carrierwave中有沒有一個選項或者是什麼?
我很欣賞它沒有保存的提示。我只需要保存它 – AJcodez