AWS S3图像通过Paperclip上传到Rails本地打开但不在生产中(Heroku)

时间:2017-05-01 17:52:35

标签: ruby-on-rails amazon-web-services heroku amazon-s3

我在AWS S3上设置了一个存储桶,因此我可以通过回形针上传图像。它在我的Localhost上完美运行,但在生产中,图像被上传到存储桶,但没有显示。我把它缩小到正在生成的链接。 rails生成的那个与我在AWS文件夹结构中实际找到照片时看到的链接相同。

生成的链接 http://s3.amazonaws.com/ocrphotobucket/blogs/images/000/000/001/original/53600574_l.jpg?1493660602

良好链接: https://s3-us-west-1.amazonaws.com/ocrphotobucket/blogs/images/000/000/001/original/53600574_l.jpg

我搜索了很多类似的SO帖子(比如this和这个),但没有任何效果。谁能看到我出错的地方?

我在production.rb

中有这个
  # AWS
  config.paperclip_defaults = {
    storage: :s3,
    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'),
    }
  }

我认为Heroku中的所有凭据都是正确的,因为图像正在上传。想法?

更新 我仔细检查了我的所有凭据在Heroku中是否正确(它们是)并且我将桶重命名为不包括下划线(上面的链接相应地改变了,但没有改变)。问题依然存在。

1 个答案:

答案 0 :(得分:0)

我最终在我的s3_host_name: 's3-us-west-1.amazonaws.com'代码中,在存储和s3凭据之间发布了行production.rb,这解决了问题。