尝试上传图片时出现回形针错误

时间:2012-12-14 05:58:07

标签: ruby-on-rails

我正在使用paperclip版本3.x.x上传图片。当我尝试上传图片时,我收到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处理图像.... 我必须在我的环境文件中设置任何内容。

提前致谢.....

2 个答案:

答案 0 :(得分:1)

场景背后的Paperclip使用ImageMagick处理图像。您可以将ImageMagick与命令识别一起使用。

首先检查您是否安装了ImageMagick。

其次,检查您是否可以使用命令行中的identify命令处理文件(.png,.gif等)。需要安装/编译ImageMagick,支持不同的图像格式。

第三,设置Paperclip告诉它在哪里可以找到ImageMagick识别命令,它取决于你安装ImageMagick的位置,但是你可以在初始化器上设置它(比如 /config/initializers/paperclip.rb )并添加像

这样的内容
Paperclip.options[:command_path] = 'C:/Progra~1/ImageM~1.8-q'

但请确保它指向您已安装identify命令和ImageMagick的位置。

答案 1 :(得分:1)

可能是由于可卡因和ImageMagicK,请尝试回滚到之前的版本(0.3.2)。

以下是更多解释,

https://github.com/thoughtbot/paperclip/issues/1038