我创建了一个在Heroku上运行的Rails应用程序,使用Paperclip和S3 . 我已经设法通过网站将图像上传到我的S3存储桶(我可以看到它们显示在亚马逊控制面板上的存储桶中) .
但是当我添加一个Image标签,即<%= image_tag x.photo.url%>时,我得到以下html(这里省略了标签),没有显示图像!
img alt =“Test_tree”src =“http://s3.amazonaws.com/hiphotos/ads/photos/000/000/015/original/test_tree.jpg?1344661020”
请帮忙!为什么我不能看到图像,即使它们在桶中?
非常感谢你们
2 回答
首先,您尝试在代码中使用的URL是:
当您在浏览器中访问该链接时,您会看到以下内容:
因此,如果我们使用正确的 endpoints 修改url,我们得到:
哪个会返回正确的图像 .
如果您正在使用欧洲桶,可能会发生这种情况,这可能是您用来将东西推送到s3的宝石的错误 .
有大量关于如何让Paperclip,S3和欧洲水桶一起玩得很好的文章 .
我发现,自从我开始使用asset_sync gem,它使用Fog而不是aws-s3 gem时,我对paperclip和S3没有任何问题 .
所以我怀疑Fog与让我解决这个问题有关 . 如果您正在使用其他东西,我建议您切换到它 .
创建一个名为paperclip初始化程序的文件:
或者您也可以将其置于
production.rb
内: