【发布时间】:2016-05-04 00:32:25
【问题描述】:
在我的 Rails 应用程序中,我想显示来自我的 AWS S3 存储桶的静态图像。所以不需要像 Paperclip 或 Carrierwave 这样的解决方案,因为不涉及上传。所以我使用aws-sdk gem 与 S3 存储桶进行交互。
这对公共图像(当然)很好,但是当我想显示私人图像时,我得到一个access denied。我设置了以下环境变量:AWS_ACCESS_KEY_ID、AWS_SECRET_ACCESS_KEY 和 S3_BUCKET_NAME。
在 Heroku 上,我使用 heroku config:set 添加了这些环境变量,并在本地使用了 dotenv gem。
问题是我在本地和 Heroku 上仍然有 access denied 错误。这里有什么问题?这是视图(带有静态 URL,稍后当然是动态的):
= link_to "https://s3-eu-west-1.amazonaws.com/mybucket/Demo/20160503092647717.png" do
= image_tag("https://s3-eu-west-1.amazonaws.com/mybucket/Demo/20160503092647717.png", width: '600')
【问题讨论】:
-
您是否将手动上传的图片权限设置为对任何人可见?