gpt4 book ai didi

ruby-on-rails - rails 4 + 回形针 + S3 : Changing endpoint to access an S3 bucket in User model?

转载 作者:行者123 更新时间:2023-12-03 21:23:58 25 4
gpt4 key购买 nike

我认为应该是一个非常简单的解决这个问题的方法,但我似乎无法让它发挥作用。我有一个 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 文件,如下所示:
<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 存储桶是北加州地区。谢谢。

最佳答案

解决了!刚刚在我的 User 中添加了这两行模型:

  :url =>':s3_domain_url',
:path => '/:class/:attachment/:id_partition/:style/:filename',

关于ruby-on-rails - rails 4 + 回形针 + S3 : Changing endpoint to access an S3 bucket in User model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20874496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com