回形针类型验证始终给出错误

时间:2014-03-17 11:12:42

标签: ruby-on-rails ruby-on-rails-3 paperclip paperclip-validation

我最近更新了Paperclip 4 (4.1.1具体),需要使用validates_attachment验证文件。我尝试了3种方法,正如GitHub文档所暗示的那样:
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/ 以及this帖子中建议的两种方式 所有案例都给我一个ActiveRecord::RecordInvalid例外,说明图片的内容类型无效。

我在Grape API中使用这行代码创建图像:
image = ActionDispatch::Http::UploadedFile.new(params[:data])
它收到的数据来自Android使用Apache HttpClient' s MultipartEntityBuilder

它打印它运行的命令以检查mime类型,如file -b --mime-type '/path/to/file,但当我运行它时,它给我image / jpeg

该班只有另外两行:
has_attached_file :image
attr_accessible :image

想法为什么会不断失败?

2 个答案:

答案 0 :(得分:1)

您可能想尝试进行一些测试,以消除此处出现问题的变量:您可以尝试不同版本的Paperclip,~3.5? Paperclip 4仍然有一些问题需要解决(我在我自己的项目中已经注意到这一点,它认为我的正常上传有一个欺骗性的内容类型)。

或者:您可以尝试以不同的方式创建图像,只是为了测试吗?您提供的验证码看起来是正确的。

答案 1 :(得分:1)

我遇到了与你相同的问题(甚至试过了线程建议的其他方式),而Rachel对这个版本是正确的。回形针4有一些欺骗问题。将其更改为3.5解决了我的问题。

顺便说一句,如果你仍想让它发挥作用,那么似乎是here所讨论的问题(给出了解决方法)