2012-12-14 61 views
1

我使用回形針3.xx版上傳圖像。當我試圖上傳圖片我得到2錯誤,回形針錯誤試圖上傳圖片

Avatar C:/Users/ABC~1/AppData/Local/Temp/PNG_transparency_demonstration_120121214-6968-3t461n.png is not recognized by the 'identify' command. 
Avatar C:/Users/ABC~1/AppData/Local/Temp/PNG_transparency_demonstration_120121214-6968-3t461n.png is not recognized by the 'identify' command. 

我的模型中,當

class User < ActiveRecord::Base 
     attr_accessible :name , :avatar 
     has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" } 
    end 

查看

<%= form_for @user , :url => users_path, :html => { :multipart => true } do |f| %> 
    <% if @user.errors.any? %> 
    <div id="error_explanation"> 
     <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2> 

     <ul> 
     <% @user.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
     <% end %> 
     </ul> 
    </div> 
    <% end %> 

    <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name %> 
    </div> 
    <div> 
    <%= f.file_field :avatar %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

我使用ImageMagic用於處理圖像.... 有什麼我要在我的環境文件中設置。

在此先感謝.....

+0

你嘗試在這個[提問]答案(http://stackoverflow.com/questions/1996102/rails-paperclip-and-passenger-is - 不是認可由這-識別命令)? – cbascom

+0

我正在使用Windows 7,我設置Paperclip.options [:command_path] =「C:\ ImageMagick-6.8.0-Q16」的路徑,我仍然收到相同的錯誤。 – Cyber

+0

如果用/替換該路徑中的\,是否會有所作爲? – cbascom

回答

1

幕後回形針使用的ImageMagick處理圖像。您可以使用ImageMagick和命令標識。

首先檢查您是否安裝了ImageMagick。

其次,檢查您是否可以使用來自命令行的identify命令處理文件(.png,.gif等)。 ImageMagick需要安裝/編譯支持不同的圖像格式。

三,設置回形針告訴它在哪裏可以找到ImageMagick的識別命令,這取決於您安裝ImageMagick的,但是你可以設置它在初始化(如/config/initializers/paperclip.rb)和放入內容如

Paperclip.options[:command_path] = 'C:/Progra~1/ImageM~1.8-q' 

但請確保它指向您已安裝了標識命令和ImageMagick的位置。

+0

它的工作....謝謝。 – Cyber

+0

沒問題,我會欣賞一個積極的投票:) – rorra