首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >'identify‘命令无法识别回形针::NotIdentifiedByImageMagickError图像

'identify‘命令无法识别回形针::NotIdentifiedByImageMagickError图像
EN

Stack Overflow用户
提问于 2011-08-16 22:39:08
回答 5查看 4.7K关注 0票数 0

我在编辑模型时遇到此错误,特别是当我删除与其关联的图像并选择另一个图像时:

代码语言:javascript
复制
Paperclip::NotIdentifiedByImageMagickError in Admin/packsController#update

Chrysanthemumprueba4.jpg is not recognized by the 'identify' command.

C:/Users/.../vendor/plugins/thoughtbot-paperclip-fc792c8/lib/paperclip/geometry.rb:24:in `from_file'

但是当我创建一个新的包并为它选择图像时,它工作得很好。

我有两个表: pack和pack_images,pack_images有与pack相关的照片,下面是关系:

代码语言:javascript
复制
class Pack < ActiveRecord::Base
  has_many :pack_images, :dependent => :destroy
end

class PackImage < ActiveRecord::Base
  belongs_to :pack
  attr_accessor :height, :width

  has_attached_file :photo, :url => "/:attachment/:class/:id/:style_:basename.:extension", :styles => {:principal => "240x240>", :original => "400x400>", ...}

end

这是控制器的操作,它抛出错误:

代码语言:javascript
复制
def update
    @pack = Pack.find(params[:id])
    @pack.pack_products

    unless params[:pack][:pack_images_attributes].nil?
      params[:pack][:pack_images_attributes].count.times do |i|
        unless params[:pack][:pack_images_attributes][:"#{i.to_s}"][:photo].blank?
          file = params[:pack][:pack_images_attributes][:"#{i.to_s}"][:photo]
          dimensions = Paperclip::Geometry.from_file(file)
          @pack.pack_images[i].width = dimensions.width              
          @pack.pack_images[i].height = dimensions.height
        end
      end
    end

  respond_to do |format|
  @pack.update_attributes(params[:pack])
  format.html { redirect_to(admin_pack_path(@pack.id), :notice => 'Pack updated') }

end

我注意到,在更新时,我得到的参数(只有照片的名称)比创建时(照片的名称,文件类型,宽度,高度等)要少。

我希望你能帮助我

非常感谢

EN

回答 5

Stack Overflow用户

发布于 2013-06-05 14:46:10

它过去可以很好地处理pdf和图片,试用了一个小时左右,跟踪了我在谷歌上搜索的所有内容,后来在我的模型has_attached_file :attachment中发现了问题。

代码语言:javascript
复制
:styles => {:original=> "125x125#"} 

我不得不注释这一行,它适用于其他附件,如docx或odt等。

因此,在您的案例中,请查看:styles => {:principal => "240x240>", :original => "400x400>"}并进行评论。

票数 2
EN

Stack Overflow用户

发布于 2011-08-16 22:47:16

找到identify命令的路径,如下所示:

代码语言:javascript
复制
$ which identify

对于我来说,上面的命令打印如下:/usr/local/bin/identify

在一些初始化器文件中添加以下内容:

代码语言:javascript
复制
Paperclip::Attachment.default_options[:command_path] = "/usr/local/bin"
票数 1
EN

Stack Overflow用户

发布于 2015-11-18 21:38:13

发生此错误的原因之一是,当您尝试确定不存在的图像的尺寸时:

Paperclip::Geometry.from_file(无)

此命令将挂起并导致此错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7079999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档