无法使用Paperclip 4.0 Rails 3上传图像

spo*_*gey 5 windows ruby-on-rails imagemagick paperclip

我安装了ImageMagick,我已经安装了宝石Paperclip(4.0版).我已经添加:

Paperclip.options[:command_path] = 'C:\Program Files\ImageMagick-6.8.8-Q16'
Run Code Online (Sandbox Code Playgroud)

到了开发.rb

我的photo.rb模型有这个:

has_attached_file :image
validates_attachment_content_type :image, :content_type => ['image/jpeg', 'image/png', 'image/jpg']
Run Code Online (Sandbox Code Playgroud)

我可以在photos/new.html.erb中选择一个文件,但是一旦我点击"创建照片"按钮,该页面就会重新加载Paperclip特定的错误消息,说明:

1 error prohibited this photo from being saved:
Image translation missing: 
en.activerecord.errors.models.photo.attributes.image.spoofed_media_type
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?谢谢

gle*_*btv 10

将其添加到初始化程序以禁用欺骗保护:

require 'paperclip/media_type_spoof_detector'
module Paperclip
  class MediaTypeSpoofDetector
    def spoofed?
      false
    end
  end
end
Run Code Online (Sandbox Code Playgroud)


mga*_*lla 4

该消息是由内容欺骗验证检查引发的。

对于 Paperclip v.4,这会产生一个错误https://github.com/thoughtbot/paperclip/issues/1429

而对于 Paperclip v.3,它似乎只是抛出一个弃用警告,https://github.com/thoughtbot/paperclip/issues/1423

所以我会等待 Paperclip 团队解决这个错误,然后再使用版本 4。目前我宁愿继续使用版本 3。

gem "paperclip", "~> 3.5.3"
Run Code Online (Sandbox Code Playgroud)