4

我有應用程序被部署到heroku使用亞馬遜s3發佈圖像桶。這工作非常好。但是,當獲取相同的圖像時,它會給出錯誤:Errno :: ENOENT(沒有這樣的文件或目錄)在亞馬遜-s3

Errno::ENOENT (No such file or directory showing path s3.amazonaws.com/bucket_name/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115) 

相同路徑在瀏覽器的url中複製和粘貼不起作用。如果我使用的水桶名稱終點它的工作原理即與以下路徑

/bucket_name.s3.amazonaws.com/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115. 

但我不知道如何在我的模型設定這個網址。我遵循heroku的方式配置aws-sdk。

https://devcenter.heroku.com/articles/paperclip-s3 

模型has_attached_file好像我缺少這裏的東西。對於其餘配置,您可以檢查上面的鏈接。

has_attached_file :image, :styles => { :medium => "100x100>", :thumb => "100x100>" } 

感謝

+0

對於其他人,當我試圖從S3複製文件並收到0字節時,收到此錯誤消息。檢查S3對象的'content_length'以查看這是否是您的問題。 – 2015-03-10 16:26:25

回答

2

包括配置/初始化/ paper_clip.rb定的代碼解決了我的問題。

Paperclip::Attachment.default_options.merge!(
     :url => ':s3_domain_url', 
     :path => 'app/public/:class/:attachment/:id_partition/:style/:filename' 
    ) 
+0

這對我有效。 – 2013-03-07 13:57:47

+0

這不適合我。我應該在文件中還有其他東西嗎?我剛剛複製並粘貼了上面的代碼片段。 – Andy 2013-06-25 21:24:51

+0

Thiw也爲我工作。它一開始並沒有工作,但那是因爲我沒有上傳新圖像,並允許它工作。 謝謝! – Andy 2013-06-25 21:31:46

相關問題