无法使用ruby on rails和paperclip gem上传zip文件

时间:2014-11-20 21:01:43

标签: ruby-on-rails upload zip imagemagick paperclip

我正在开发一个rails web应用程序。刚创建并准备了一些模型和东西。该应用程序非常简单。但是现在我有一个问题,就是设置宝石回形针以向模型添加附件。几乎所有东西都可以正常工作,例如附加图像/ jpg甚至是pdf。

但是我无法上传zip文件。我尝试了不同的zip文件,但我总是得到: “附件Paperclip :: Errors :: NotIdentifiedByImageMagickError”

这是我的模特:

class Order < ActiveRecord::Base
  has_attached_file :attachment, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
  validates_attachment_content_type :attachment, :content_type => ["application/pdf", "application/zip", "application/x-zip", "application/x-zip-compressed","application/octet-stream","image/jpg","image/png"]
  belongs_to :client
  has_one :status
end

我正在Mac(优胜美地)上开发,通过brew安装imagemagick并使用SQLite。

我将此添加到我的Gemfile:

gem "paperclip", "~> 4.2"
gem 'cocaine', '~> 0.5.4'

我在最后几个小时研究谷歌,有很多人在使用回形针,但我没有找到任何上传zip文件的人。

也许有人可以在这里提供帮助。 感谢

1 个答案:

答案 0 :(得分:3)

ImageMagick无法读取.zip文件。请在此处查看可接受的文件类型:

http://www.imagemagick.org/script/formats.php

如果您尝试从zip文件生成缩略图,ImageMagick每次都会失败。

尝试将此添加到您的模型中:

before_post_process :skip_for_zip

def skip_for_zip
   ! %w(application/zip application/x-zip).include?(asset_content_type)
end

然后您的应用不会尝试将zip文件作为图像处理

相关问题