我刚刚将AWS与我的rails / heroku应用程序集成,我正在使用回形针。我可以上传文件(照片)并在AWS中查看它们,但它们没有显示在视图中。我没有收到任何错误,也没有在其他帖子中找到合适的解决方案。
我怀疑我的地区可能有错,在我的aws仪表板的网址中,该区域说region=us-west-2
但谷歌搜索和阅读其他论坛和SO上的帖子让我相信如果我在美国我的区域应该设置为us-east-1
- 目前我将它设置为后者。不确定这是不是问题。
以下是AWS上图片的链接:https://s3.amazonaws.com/giving-tree-images/avatars/1/medium/02108_navajoland_1440x900.jpg
这是与我的模型中的aws / paperclip有关的代码:
:storage => :s3,
# :s3_host_name => "s3-us-east-1.amazonaws.com",
:s3_credentials => {
:bucket => ENV['S3_BUCKET_NAME'],
:access_key_id => ENV['AWS_ACCESS_KEY_ID'],
:secret_access_key => ENV['AWS_SECRET_ACCESS_KEY']
},
:path => ":rails_root/public/system/:attachment/:id/:style/:filename",
:default_url => "default_img.png"
我正在这样的视图中显示:
<%= image_tag @user.avatar.url(:medium) %>
如果有人能指出我正确的方向,我会很高兴...如需更多信息,请告诉我们!
答案 0 :(得分:1)
我也面临同样的问题,所以这就是我解决它的方法:
Paperclip::Attachment.default_options[:url] = ':s3_domain_url'
Paperclip::Attachment.default_options[:s3_host_name] = 's3-us-west-2.amazonaws.com'
要获取有关您所在地区的详细信息,请访问aws
Amazon Web Service - Check your host name
注意:将s3-us-west-2.amazonaws.com
替换为您自己的主机名
答案 1 :(得分:-1)
您是否启用了对所有人的读取权限? 当访问链接时,它给了我访问被拒绝的错误。