我在我最新的rails(4.2.6)项目中使用paperclip 5.0.0.beta2。该应用程序托管在Heroku上。我可以上传一张图像,它似乎存储在Amazon S3上的一个桶中。然而,在浏览器中,图像似乎有一个破碎的url,尽管它指向Amazon S3上的桶,url是:
http://s3.amazonaws.com/gigbnb/profiles/profile_pics/000/000/002/small/anthony_candaele-300x300.jpg?1464956858
当我在浏览器中输入这个url时,我得到一个带有以下错误消息的xml页面:
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
看起来S3端点有问题。
但是我在配置文件中设置了区域(eu-west-1):
config/environments/production.rb
config.paperclip_defaults = {
storage: :s3,
s3_region: ENV.fetch('AWS_REGION'),
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'),
}
}
我的Github仓库在:
https://github.com/acandael/gigbnb
有人知道发生了什么吗?
谢谢你的帮忙
安东尼
2条答案
按热度按时间cvxl0en21#
这是一个workaround解决了我的问题。它是由aminariana提供的
dpiehjr42#
其中一个原因是您的s3客户端是使用您的存储桶所在的区域以外的区域创建的。