我在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中是否正确(它们是)并且我将桶重命名为不包括下划线(上面的链接相应地改变了,但没有改变)。问题依然存在。
答案 0 :(得分:0)
我最终在我的s3_host_name: 's3-us-west-1.amazonaws.com'
代码中,在存储和s3凭据之间发布了行production.rb
,这解决了问题。