在亚马逊s3水桶上找不到图像

时间:2015-11-25 16:11:11

标签: ruby-on-rails

我刚刚用亚马逊s3制作回形针。 我可以成功上传图片。

当我尝试渲染图像时

<%= image_tag @client.image.url(:thumb) %>

我无法

<img src="http://s3.amazonaws.com/mybucket/clients/images/000/000/009/thumb/id1_001.jpg?1448466990">

找不到图片 当我访问网址时

http://s3.amazonaws.com/mybucket/clients/images/000/000/009/thumb/id1_001.jpg?1448466990

我收到了一条消息

<Message>
The bucket you are attempting to access must be addressed using the  specified endpoint. Please send all future requests to this endpoint.
</Message>
<Bucket>mybucket</Bucket>
<Endpoint>mybucket.s3.amazonaws.com</Endpoint>

如何配置回形针以使用正确的路径?

1 个答案:

答案 0 :(得分:0)

这件事发生在我身上,通过为回形针设置正确的S3主机名解决了我的问题:

我假设您必须在某处配置您的S3凭据,并按照以下方式进行配置:

paperclip_options = {
      :storage => :s3,
      :s3_credentials => {
          :s3_host_name => PLACE YOUR BUCKET HOST NAME HERE,
          :bucket => XXX,
          :access_key_id => YYY,
          :secret_access_key => ZZZ
      },
      :s3_protocol => :https
}

Paperclip::Attachment.default_options.update(paperclip_options)

请注意选项:s3_host_name是解决问题的关键:)