ruby-on-rails – 每次推送到heroku,图像都没有显示,回形针

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 每次推送到heroku,图像都没有显示,回形针前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的情况.

我正在使用paperclip让用户上传图片.它做得很好,一切都很好.然后,我把它推到了heroku.对于妈妈,我可以看到用户上传的所有图片.但是,每次进行新的提交并再次推送到heroku时,我之前的所有图像都消失了.好像没有文件了,无法加载它.

那么,这就是我的想法:
是不是每次我推送到heroku服务器时,本地的图像文件都被上传到heroku服务器?

我为它研究了我的问题,我真的不明白他们对heroku的实际说法,我不知道是不是我的问题.

Heroku has a read-only filesystem. That means Paperclip cannot save uploaded files to any place within Heroku.

If you would like to be able to upload files to an application hosted on Heroku,then you must either store the files as binary blobs within your database or you must use a separate service to store the files. If you are looking for a separate service,Paperclip has built-in support for integrating with Amazon S3.

我发现亚马逊S3需要信用卡才能注册,如果我没有信用卡,那我就不能使用他们的服务了?

任何细节建议和解释都表示赞赏.谢谢

解决方法

亚马逊不是免费设备,您必须提供信用卡号码才能使用它.但是,您只需支付使用的费用,但这并不昂贵.例如,对于我的网站,上个月我支付了2.46美元的15Gb存储空间,我支付了1.90美元用于16Gb的数据传输.

要将S3与paperclip一起使用,您需要将gem’aws-s3’添加到您的Gemfile中

接下来,您需要添加config / s3.yml您的资产凭据,例如:

production:
  access_key_id: AAAAAAAAAAAAAAAAAA
  secret_access_key: BBBBBBBBBBBBBBBBBBBBBBBBBBB
  bucket: assets.my-bucket

然后我有一个存储我的资产的模型,例如:

class Asset
  has_attached_file :asset,:styles => {  :thumb => "60x60#",:large => "700x330#"},:storage => :s3,:s3_credentials => "#{Rails.root}/config/s3.yml",:path => "/images/:id/:style.:extension"
  validates_attachment_content_type :asset,:content_type => ['image/gif','image/jpeg','image/png','image/x-ms-bmp']
end

我希望它有所帮助

猜你在找的Ruby相关文章