该网站的功能是发布博客帖子。它在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)时遇到的错误:
图片的内容不是他们报道的内容
我对此有了新的详细解释,我们将不胜感激。我在这里阅读了一些其他修复但没有任何效果。
答案 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