Paperclip Gem - "图片的内容不是他们所报道的内容"错误

时间:2015-07-23 20:23:00

标签: ruby-on-rails ruby ruby-on-rails-4 gem paperclip

该网站的功能是发布博客帖子。它在Windows 7上本地运行。我已经尝试过Paperclip gem(版本4.2.4和4.3),服务器在cmd中进入无限循环(不会发生在4.2.4上)但仍然得到错误)。我做了捆绑安装,它已经安装好了。

的Gemfile:

gem "paperclip", "~> 4.3"

这是模型:

class Post < ActiveRecord::Base

    has_attached_file :image, :default_url => ":style/rails1.jpg"
    validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/

end

这是我在尝试提交图片(png或jpg)时遇到的错误

  

图片的内容不是他们报道的内容

我对此有了新的详细解释,我们将不胜感激。我在这里阅读了一些其他修复但没有任何效果。

3 个答案:

答案 0 :(得分:6)

找出一个临时解决方案:

添加此文件

<强>配置/初始化/ paperclip_media_type_spoof_detector_override.rb

require 'paperclip/media_type_spoof_detector'
module Paperclip
  class MediaTypeSpoofDetector
    def spoofed?
      false
    end
  end
end

答案 1 :(得分:5)

禁用欺骗检查的正确方法是在附件定义中使用:validate_media_type: false,即

has_attached_file :image, :default_url => ":style/rails1.jpg", validate_media_type: false

答案 2 :(得分:1)

这不是最好的方法。但这种方式更安全,更少猴子修补...... 只需将其添加到您的模型中:

do_not_validate_attachment_file_type :image