我构建了一个rails应用程序,并将s3和paperclip设置在一起。到目前为止,图像正在发布到我的s3帐户中。但在实时应用程序上,它实际上并没有显示图像,只是显示了损坏的文件图标。
为什么会发生这种情况?这是回形针错误吗?是Heroku吗?是我的控制员吗?
这是实时应用:http://petaluma-marin.herokuapp.com/Nutrition-Recipes 这是我的回购:https://github.com/Gcamara14/Recipe_app
谢谢!
答案 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)。