所以我正在创建一个允许用户创建项目的Rails应用程序,每个项目都有一个图像附件,通过Paperclip gem处理。默认情况下,Paperclip gem将照片保存为原始(和缩略图)形式的公共文件夹。
考虑到照片可能相当大,我可以看到它在存储空间方面如何变得无法控制。
我的问题:
1)Heroku允许我为公共文件夹中的图像保留多少空间?
2)如果Heroku只允许你在这个文件夹中保存有限数量的数据(我确信它会这样做),我如何处理可能包含大量图像的网站的照片存储?可能远程?压缩? (具体情况会很好,因为我对图像存储完全不熟悉。)
答案 0 :(得分:3)
Heroku为您的应用提供了只读文件系统。使用Amazon S3存储上传的图像。 Paperclip has great support for S3。看看这个Heroku guide。
答案 1 :(得分:0)
正如克里斯所说,你会想要使用像S3这样的第三方服务,如果你最终使用了Paperclip,那么你的模型中最终会有类似这样的例子。
has_attached_file :photo,
:styles => { :thumb=> "100x100", :small => "300x300" },
:storage => :s3,
:s3_credentials => "#{Rails.root.to_s}/config/s3.yml",
:path => "/:id/:style/:filename"
在您的配置目录中,您将拥有一个s3.yml凭证文件,如下所示:
development:
bucket: blahblah
access_key_id: sfoi40j8elkfv08hwo
secret_access_key: DJyWuRtsfoi40j8elkfv08hwos0m8qt
production:
bucket: blahblah
access_key_id: sfoi40j8elkfv08hwo
secret_access_key: DJyWusfoi40j8elkfv08hwos0m8qt