Paperclip + S3在本地工作,而不是在Heroku上工作

时间:2012-01-31 15:52:20

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

在生产中运行时,我将我的应用配置为使用S3而不是本地文件系统来存储Paperclip文件。它在我的本地机器上正常生产(回形针在我的S3桶中存储附件)。

在Heroku上,它不起作用,行为很奇怪:

如果用户注册并附上个人资料照片并单击“提交”,则会收到错误消息:

1 error prohibited this user from being saved:
There were problems with the following fields: 

Avatar content type is not one of image/jpg, image/jpeg, image/png, image/gif 

虽然上传的图片格式正确,但在没有Heroku的情况下运行paperclip + s3时会正常处理......

Heroku日志什么也没说......

我已经设置了heroku vars:heroku config:add bucket,access_key和secret_key。

我忘记了什么吗?

非常感谢任何帮助!!

2 个答案:

答案 0 :(得分:3)

OK ...错误的猜测...它实际上不是Heroku的错,但是Internet Explorer将'image / jpeg'文件转换为'image / pjpeg'(即使jpg不是渐进式的)并转换'image / png'to'image / x-png'内容类型......

在我的本地机器上完成的测试是使用Mozilla完成的,而Heroku上的测试是使用IE完成的,这解释了为什么我认为它是Heroku ......

Chrome和Mozilla的一切运行良好,但如果您使用的是Internet Explorer,请务必将“image / pjpeg”,“image / pjpg”和“image / x-png”添加到您所接受的图像格式列表中验证!

答案 1 :(得分:0)

由于某种原因,内容类型看起来没有被验证为正确。如果您在本地生产模式下运行应用程序(因此将Heroku排除在等式之外),这也应该失败