1

我有一个使用回形针作为图像附件的模型

我目前要求附件是使用验证的图像

validates_attachment_content_type :image, :content_type => /^image\/(jpg|jpeg|pjpeg|png|x-png|gif)$/, :message => 'file type is not allowed (only jpeg/png/gif images)'

但是,当我尝试上传非图像时,我会收到这些错误消息。

Image /var/folders/1f/0jtzzpl56sdcb92spkx6rpch0000gn/T/10-21-201120120908-44073-j59q0s.pdf is not recognized by the 'identify' command.
Image /var/folders/1f/0jtzzpl56sdcb92spkx6rpch0000gn/T/10-21-201120120908-44073-j59q0s.pdf is not recognized by the 'identify' command.
Image content type file type is not allowed (only jpeg/png/gif images)

因此,即使该文件未通过验证,该文件似乎也被传递给 ImageMagick。我只想要最后一条错误消息,而不是前 2 条。

如何抑制前两条消息或确保文件不被处理,除非它通过内容类型验证?

4

2 回答 2

1

查看以下链接,您可以通过添加自定义方法 https://groups.google.com/forum/?fromgroups=#!topic/paperclip-plugin/oVnIgfAfrLU在此处找到您的解决方案

谢谢,

尼迪·萨瓦亚

于 2012-09-09T11:39:43.563 回答
0

解决了

before_post_process :process_only_images

def process_only_images
    if !(image.content_type =~ %r{^(image|(x-)?application)/(x-png|pjpeg|jpeg|jpg|png|gif)$})
      return false 
    end
end
于 2012-09-20T00:22:07.537 回答