Paperclip正在处理附件,即使它们没有通过验证?

时间:2012-09-09 04:03:44

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

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

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

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 个答案:

答案 0 :(得分:1)

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

谢谢,

Nidhi Sarvaiya

答案 1 :(得分: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