2014-11-20 63 views
3

我正在使用Rails Web应用程序。只是创建和准备了一些模型和东西。该应用程序非常简单。但是现在我通过设置宝石回形针将附件添加到模型来解决问题。几乎一切正常,如附加图像/ JPG甚至PDF。无法使用轨道和回形针宝石上的红宝石上传压缩文件

但我无法上传zip文件。我尝试了不同的zip文件,但我总是得到: “附件回形针::错误:: 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和使用SQLite安装imagemagick。

我将此添加到我的Gemfile:

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

我做研究谷歌的最后几个小时,而且有很多人用回形针挣扎,但我没有找到上传zip文件的问题任何人。

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

+0

我刚刚发现我可以上传zip文件,当我删除与该行“content_type ...”并添加诸如“...:matches => [/ zip \ Z /,/ jpe?g \ Z/...”之类的内容。 – 2014-11-20 21:24:36

回答

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文件当成文件图像

+0

非常感谢!那样做了。谢谢! – 2014-11-20 21:35:39

+0

很高兴我能帮到你。 – 2014-11-20 21:36:06

+0

注意:您的属性是“附件”,因此请用“attachment_content_type”替换“asset_content_type”。 – 2015-05-08 02:14:38