2010-11-16 79 views
1

我一直在試圖讓回形針上傳圖像到亞馬遜S3,但我得到的是原始文件上傳。沒有生成縮略圖。我的模型有這個:回形針不會在heroku上創建縮略圖

has_attached_file :screenshot, :styles => { 
    :thumb => "100x80>", 
    :medium => "195x150>", 
    :large => "390x300>" 
    }, 
    :storage => :s3, 
    :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", 
    :path => ":attachment/:id/:style.:extension" 

原始文件實際上傳,但沒有顯示縮略圖。如果我複製拇指格式圖像的src,例如,我得到

<Error> 
<Code>NoSuchKey</Code> 
<Message>The specified key does not exist.</Message> 
<Key>screenshots/8/thumb.png</Key> 
<RequestId>B8A408560070E836</RequestId> 
− 
<HostId> 
HAHUCuNxGKVDvqE3GnhGT1RcBgFGUxa35kqXmyRE+ii60DJS6r22ChDr22cOeCea 
</HostId> 
</Error> 

這是在heroku上運行,這迫使我使用像亞馬遜這樣的服務。這不是問題,但是我能找到的所有文檔都使得這個看起來很簡單。我找不到任何依賴關係(捆綁商很高興),而且我已經在另一個網站上使用AWS 2年了,沒有這些問題,並且在同一個賬戶上有不同的存儲桶。將存儲桶連接到帳戶是否存在問題?我使用與其他網站相同的憑據。只有存儲桶發生變化。

還有更多的東西。正在上傳的圖像路徑中創建的目錄的權限爲000或等價的任何aws。沒有人可以做任何事情。

使用Rails 3

+0

有沒有任何更新?以下任何答案都是正確的? – 2011-07-22 05:47:25

回答

-2

我安裝回形針作爲一個插件,和一切正常。

不要忘記從您的Gemfile中刪除寶石。

2

我有同樣的問題,答案在於:

:路徑=> 「:附件/:ID /:風格:擴展名」

而不是存儲在圖像中的具有不同名稱的相同folder_id,爲圖像使用相同的名稱並使用文件夾的樣式。以上會轉化爲:

:路徑=> 「:附件/:ID /:款式/:文件名」

因此,而不是試圖產生類似:

avatars/13/thumb.png 
avatars/13/medium.png 
avatars/13/large.png 

你得到這個:

avatars/13/thumb/my_pic.png 
avatars/13/medium/my_pic.png 
avatars/13/large/my_pic.png