2014-11-20 87 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