2012-01-17 169 views
2

在添加圖像到我的蝦文件,並試圖拉從Amazon S3存儲的形象出現以下錯誤亞馬遜S3蝦PDF

ArgumentError (http://s3.amazonaws.com/briefbucket/photos/2/small/259823_1583726693707_1851950185_973122_7126850_n.jpg?1326839482 not found): 

但是我看了看我的存儲文件夾時,JPG是存在的。我注意到蝦的結尾文件名是「jpg?1326839482」?

任何幫助,將不勝感激。

回答

10

好的,今天我有同樣的問題。現在: 我正在使用Amazon S3並加載用戶上傳的圖像。解決方法如下:

if @user.avatar? #in case user didn't upload anything 
    image open("#{ @user.avatar(:small).to_s.sub!(/\?.+\Z/, '') }") 
end 

.to_s.sub!(/\?.+\Z/, '') 

使用擺脫畢竟東西 「?」

在我搬到亞馬遜之前,我沒有使用導致問題的「open」。

讓我知道這是否有幫助。

+0

**搖滾!**像魅力一樣工作。謝謝。我之前無法使用它:'image「#{Prawn :: DATADIR}/..'或這種類型的東西:'image open(」@ user.avatar.url(:medium)「)。read ' – Jordan 2014-05-20 22:37:46

0

我不確定我是否完全理解,但我認爲您需要對您的文件名進行網址編碼(請參閱encoding)。

所以,你的編碼文件會是這樣的:

http://s3.amazonaws.com/briefbucket/photos/2/small/259823_1583726693707_1851950185_973122_7126850_n.jpg%3F1326839482 

?字符用於指定的搜索路徑的開始。

+0

你有什麼建議,我將如何編碼請求將該圖像拉入pdf? – FrankHock 2012-01-18 00:11:27

+0

我的大問題是爲什麼您的圖像文件名是259823_1583726693707_1851950185_973122_7126850_n.jpg?1326839482。 – stevebot 2012-01-18 00:14:26

+0

在我的亞馬遜S3桶我的文件名是259823_1583726693707_1851950185_973122_7126850_n.jpg這是什麼亞馬遜將它存儲爲? – FrankHock 2012-01-18 00:18:42