AWS S3 不在 heroku 上显示图像?

AWS S3 not showing images on heroku?

我构建了一个 rails 应用程序并同时设置了 s3 和回形针。到目前为止,图像已发布到我的 s3 帐户中。但在实时应用程序上,它实际上并没有显示图像,只是显示了损坏的文件图标。

知道为什么会这样吗?是回形针错误吗?是 Heroku 吗?是我的控制器吗?

这是实时应用程序:http://petaluma-marin.herokuapp.com/Nutrition-Recipes 这是我的回购协议:https://github.com/Gcamara14/Recipe_app

谢谢!!

你对图片的url是错误的。您的第二张图片的URL 目前是这个

http://s3.amazonaws.com/recipe-app-gio/recipes/images/000/000/009/medium/Screen_Shot_2017-05-30_at_1.19.49_PM.png?1496243164

需要的是这个

http://s3-us-west-1.amazonaws.com/recipe-app-gio/recipes/images/000/000/009/medium/Screen_Shot_2017-05-30_at_1.19.49_PM.png?1496243164

注意开头需要 http://s3-us-west-1.aws...

而不是 http://s3.aws...

每当我遇到 S3 问题时,我发现最简单的方法是转到存储桶并查看路径,然后检查图像或资产并查看它们是否匹配。

为了给您提示可能是什么问题,如果您在浏览器中 copy/paste 照片 url 您应该会看到此消息:

The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.

看看你的paperclip_defaults。您错过了 s3_host_name ,它包含 s3-us-west-1 之类的内容(如先前答案之一所述)。

另外看起来 paperclip 存储库中已经创建了一个应该可以帮助您解决问题的问题(here)