我想,对于这个问题应该是一个非常简单的解决办法,但我似乎无法让它发挥作用.我有一个Rails 4应用程序,一个photograph
带有Paperclip属性设置的用户模型,我把它链接到S3.
这是用户模型:
has_attached_file :photograph, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :storage => :s3, :bucket => " my-bucket-name ", :default_url => '/images/:attachment/missing_:style.png', :s3_credentials => S3_CREDENTIALS
图像被添加到我的S3桶中就好了,但是当我尝试渲染图片时<%= image_tag @user.photograph.url %>
,它不会显示出来.经过进一步检查,图片网址为:
http://s3.amazonaws.com/my-bucket-name/users/photographs/000/000/001/original/20121103_132556.jpg?1388619625
如果我在浏览器中关注此URL,我会看到一个XML文件,如下所示:
PermanentRedirect
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint. ... my-bucket-name ... my-bucket-name.s3.amazonaws.com
因此,当我http://my-bucket-name.s3.amazonaws.com/actives/photographs/000/000/001/original/20121103_132556.jpg?1388619625
在浏览器中关注网址时,我看到图片就好了.
如何更改用户模型中的端点?处理这个问题的正常方法是什么?我必须补充一点,我的S3斗是北加州地区.谢谢.
解决了!刚刚在我的User
模型中添加了这两行:
:url =>':s3_domain_url', :path => '/:class/:attachment/:id_partition/:style/:filename',