我正在使用回形针和亚马逊 s3 为我的网站存储图像。在开发模式下,如果没有 s3,一切都可以正常工作,但是当我尝试使用 s3 时,它会显示图像的标题而不是图像。我已经复制了 heroku 指南https://devcenter.heroku.com/articles/paperclip-s3中的内容。
这是宝石文件
gem 'paperclip'
gem 'aws-sdk', '~> 2.3'
这是在类配置文件的 profile.rb 中
has_attached_file :avatar,
:styles => { :medium => "300x300>", :thumb => "100x100>" },
:default_url => ":style/missing.jpg"
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
这是在生产中.rb
config.paperclip_defaults = {
storage: :s3,
s3_host_name: "s3-#{ENV['AWS_REGION']}.amazonaws.com",
:s3_protocol => :https,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
意见
<%= image_tag @user.profile.avatar.url(:medium) %>
我已经复制了 heroku 指南并添加了主机名和 s3 协议位。这里有什么问题?