在Heroku上部署 – 上传后图像消失
我在Heroku上部署了一个应用程序,我在Ruby on Rails上编写了这个应用程序。 这是一个电影评论应用程序。
我可以将计算机上传的图像上传到网络应用程序。 其他一切都按照我的期望运作。
一天后图像消失。 我的要求是让图像继续渲染。
我正在使用来自rails的Paperclip gem。 这仅发生在已部署的版本上,而不是在localhost上。
Heroku上的默认上传位置是临时存储。 这是因为每次部署时都会获得不同的Web工作者。
您需要使用S3或其他位置来存储文件。 幸运的是,Heroku上的Paperclipcertificate了这一点。
主要配置不同之处在于此。 将gem’aws gem 'aws-sdk'
添加到Gemfile中,然后在config/environments/production.rb
调整配置文件:
config.paperclip_defaults = { :storage => :s3, :s3_credentials => { :bucket => ENV['S3_BUCKET_NAME'], :access_key_id => ENV['AWS_ACCESS_KEY_ID'], :secret_access_key => ENV['AWS_SECRET_ACCESS_KEY'] } }