2010-08-08 86 views
3

has_attached_file :image, :storage => :s3, :s3_credentials => "#{RAILS_ROOT}/config/s3.yml", :path => "/:style/:filename"回形針Amazon S3的設置與Heroku的

我不知道什麼是:path => "/:style/:filename"

我也想包括這個附加圖像的樣式,那是什麼:路徑是什麼? 我想要的風格是這樣的::styles => { :medium => "275x275>", :thumb => "175x155>" }

基本上什麼是怎麼回事的是,我在heroku設置,我不得不使用S3這看起來非常簡單只是不習慣這個附件約定的東西。

此外,我剛剛註冊了一個S3帳戶...但heroku是吐它的自由或東西。這是怎麼回事?

回答

9

'路徑'指定了文件將存儲在S3上的位置。因此,如果你指定的附件爲:

has_attached_file :image, 
    :styles => { :medium => "275x275>", :thumb => "175x155>" }, 
    :storage => :s3, :s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml", 
    :path => "user/:attachment/:style/:id.:extension" 

樣本網址爲:

http://s3.amazonaws.com/bucket/user/image/thumb/347853856.jpg

最後,S3是不是免費的(Heroku的只是指出傳輸/上傳不計算在基於使用情況的計算中)。如果您需要更多信息,Heroku的documentation非常棒。

+0

凱文:是否回形針仍然需要你寫在Heroku上的本地文件系統爲你上傳的文件?例如,文件是否首先轉到Heroku dyno(特別是處理過的圖像),然後轉到S3?或者Paperclip可以直接進入S3並繞過Heroku? – iwasrobbed 2011-05-24 16:55:23

+0

@iWasRobbed回形針將在您的Rails應用程序中運行,因此將在Heroku上運行。在這種情況下,該文件將首先通過Heroku。 – 2011-05-24 16:59:43

4

注意,在Rails的3.1及以上,這應該是Rails.root而不是RAILS_ROOT