回形针错误 - NotIdentifiedByImageMagickError

时间:2014-05-15 22:14:40

标签: ruby-on-rails imagemagick paperclip rmagick

我试图用回形针将图片上传到aws s3,但我收到此错误

Command :: file -b --mime '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1u773ft.jpg'
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1rep3kt.jpg[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError>
Command :: identify -format '%wx%h,%[exif:orientation]' '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-1rep3kt.jpg[0]' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::Errors::NotIdentifiedByImageMagickError: Paperclip::Errors::NotIdentifiedByImageMagickError>
Command :: file -b --mime '/var/folders/d_/k4_ps9hj5fj_3df5t210vjym0000gn/T/2611a2396a4af6938e5c5867c8bb409f20140515-7787-kfejir.jpg'

在我的模型中,我设置了这些样式

 has_attached_file :photo, :storage => :s3, :s3_credentials => "#{Rails.root}/config/s3.yml", :path => "/:style/:id/:filename", :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/assets/profile/iama.png"

当我删除这些样式时,一切正常,但我真的需要它们。

我正在使用Rails 3.2.16

  paperclip (4.1.1)
      activemodel (>= 3.0.0)
      activesupport (>= 3.0.0)
      cocaine (~> 0.5.3)
      mime-types

我已经安装了ImageMagickrmagick gem

请帮帮我。

9 个答案:

答案 0 :(得分:10)

问题是我的ImageMagick没有JPEG代表。我发现使用了convert -list format。所以我使用MacPorts重新安装了ImageMagick,并使用新的ImageMagick路径重新安装了rmagick

答案 1 :(得分:7)

我有类似的问题,更新imagemagick解决了这个问题。 您可能也想尝试一下。

答案 2 :(得分:6)

我的Mac上遇到了同样的问题。通过安装GhostScript

解决了这个问题
brew install gs

正如回形针文档所述:http://rdoc.info/gems/paperclip/frames/file/README.md

答案 3 :(得分:0)

我遇到了同样的问题,除了重新安装所有内容(ImageMagick,libtoolghostscriptjpeg),最后还运行了一般brew update && brew upgrade,我也不得不重新链接freetype

brew unlink freetype && brew link freetype

答案 4 :(得分:0)

在我的情况下,我有一个脏的ImageMagick安装(v7.0),我在使用rpm之前手动安装。这个没有向我展示ImageMagick所需的所有依赖项,因此Paperclip在尝试使用转换或识别命令时崩溃了。

我建议Unix用户使用yum或apt-get进行安装,以正确安装所有依赖项。还建议安装ghostscript,以防命令识别和转换无法从回形针传唤。

cd ImageMagick-7.0.3-0
make uninstall
yum install ImageMagick ImageMagick-devel

请点击此链接了解更多具体细节: How to Install ImageMagick on CentOS & RHEL

Rubygems使用:     回形针(5.1.0)     可卡因(0.5.8)

答案 5 :(得分:0)

来自here

OLD syntax was :styles => { :medium => "300x300>" }
New syntax is style: { :medium => "300x300>" }

答案 6 :(得分:0)

我有同样的问题,但我删除样式和应用程序开始工作

has_attached_file :picture
validates_attachment_content_type :picture, content_type: /^image\/(png|gif|jpeg|jpg)/

答案 7 :(得分:0)

安装libmagickwand-dev好像要解决它。

  1. sudo apt autoremove imagemagick
  2. rm / usr / bin / convert和rm / usr / bin / convert-im6
  3. sudo apt-get install imagemagick
  4. sudo apt-get install libmagickwand-dev
  5. sudo apt install ffmpeg

    ImageMagick委托视频处理。我失去了超过5个小时,以了解为什么这样的错误NotIdentifiedByImageMagickError

    安装make https://www.imagemagick.org/discourse-server/viewtopic.php?t=24284

答案 8 :(得分:0)

我在 Ubuntu 18 服务器上也遇到了同样的问题。

您可以使用以下命令检查与 Imagemagick 一起安装的代理:

convert --version

我在安装后发现了一些缺失的代表,例如 JPEG/JPG 或 PNG

我清除了 Imagemagick 包,然后使用以下命令安装了 JPEG/JPG 和 PNG 所需的依赖项:

sudo apt-get install build-essential checkinstall libx11-dev libxext-dev zlib1g-dev libpng12-dev libjpeg-dev libfreetype6-dev libxml2-dev

然后尝试安装最新版本的 Imagemagick 并成功。