Paperclip 和 amazon s3 - 图像路径包括桶区域

Paperclip and amazon s3 - image path includes bucket region

我正在使用回形针和 amazon s3 上传图像。图片正在上传到我的存储桶,但我无法在我的视图中获得正确的 url。 我要的url是这样的:

s3-us-west-2.amazonaws.com/app/model/images/000/000/005/original/image.jpeg

相反,我得到了这个 url:

s3.amazonaws.com/app/model/images/000/000/005/original/image.jpeg

只是缺少开头的 s3-us-west

使用 this guideline,我尝试通过更改默认回形针 url 结构来修复它。

config.paperclip_defaults = {
storage: :s3,
:url => "s3-us-west-2.amazonaws.com",
s3_credentials: {
  bucket: ENV.fetch('S3_BUCKET_NAME'),
  access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
  secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
  s3_region: ENV.fetch('AWS_REGION'),
 }
}

但那更糟了,现在我得到了这条路:

s3.amazonaws.com/app/model/publics3-us-west-2.amazonaws.com

没读够。哎呀

将此添加到 initializers/paperclip.rb:

Paperclip::Attachment.default_options[:s3_host_name] = 's3-us-west-2.amazonaws.com'