【发布时间】:2014-01-19 09:38:57
【问题描述】:
我认为应该是对这个问题的一个非常简单的解决方法,但我似乎无法让它发挥作用。我有一个 Rails 4 应用程序,一个带有回形针的photograph 属性设置的用户模型,我将它链接到 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 文件:
<Error>
<Code>PermanentRedirect</Code>
<Message>
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
</Message>
<RequestId> ... </RequestId>
<Bucket>my-bucket-name</Bucket>
<HostId>
...
</HostId>
<Endpoint>my-bucket-name.s3.amazonaws.com</Endpoint>
</Error>
因此,当我在浏览器中点击 url http://my-bucket-name.s3.amazonaws.com/actives/photographs/000/000/001/original/20121103_132556.jpg?1388619625 时,我看到的图片就好了。
如何更改我的用户模型中的端点?处理这个的正常方法是什么?我必须补充一点,我的 S3 存储桶是北加州地区。谢谢。
【问题讨论】:
标签: ruby-on-rails amazon-s3 paperclip