AWS S3没有在heroku上显示图像?

时间:2017-06-02 22:38:02

标签: ruby-on-rails heroku amazon-s3 paperclip

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

为什么会发生这种情况?这是回形针错误吗?是Heroku吗?是我的控制员吗?

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

谢谢!

2 个答案:

答案 0 :(得分:2)

您的图片网址错误。您当前的第二张图片的网址是

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.aws...,您需要http://s3-us-west-1.aws...

每当我遇到S3问题时,我发现最简单的方法是去看看路径,然后查看图片或资产,看看它们是否匹配。

答案 1 :(得分:1)

要提示您可能出现的问题,请在浏览器中复制/粘贴照片的网址,您应该会看到以下消息:

  

您尝试访问的存储区必须使用指定的端点进行寻址。请将以后的所有请求发送到此端点。

看看你的paperclip_defaults。您错过了包含s3_host_name之类的s3-us-west-1(如之前的答案中所述)。

同样看来,paperclip回购邮件中已经创建了一个可以帮助您解决问题的问题(here)