纸夹 / 乘客未被ImageMagick识别错误:

5
当我在Ruby on Rails中使用Paperclip上传照片时,在我的本地机器上它可以完美地工作。
当我在我们的Linux(CentOS 5.2)服务器上,使用Apache和Phusion Passenger,尝试在Ruby on Rails中使用Paperclip上传照片时,我得到以下错误信息:
2 errors prohibited this user from being saved
There were problems with the following fields:
- Avatar /tmp/stream20091026-21120-1qdbnul-0 is not recognized by the 'identify' command.
- Avatar /tmp/stream20091026-21120-1qdbnul-0 is not recognized by the 'identify' command.

我尝试添加:

Paperclip.options[:command_path] = "/usr/local/bin"

我将production.rb文件更改了,但没有任何影响。

在日志文件中,我得到了以下错误:

参数:{"commit"=>"上传", "action"=>"更新", "_method"=>"put", "authenticity_token"=>"419410afc22737cd2f6b6096a95327db76a48ba9", "controller"=>"users", "user"=>{"avatar"=>#}} [paperclip] 正在保存附件。 [paperclip] 处理时出现错误:

/tmp/stream20091026-20752-1g568yk-0未被“identify”命令识别。

2个回答

4

Identify是ImageMagick软件包中的命令行实用程序。

它的主页上写道:

identify程序描述了一个或多个图像文件的格式和特征。 它还报告图像是否不完整或损坏。 返回的信息包括图像编号、文件名、图像的宽度和高度、图像是否具有颜色映射、图像中的颜色数、图像中的字节数、图像的格式(JPEG、PNM等)以及读取和处理图像所需的时间(秒)。 使用详细选项可以获得更多属性。

首先,在服务器上复制图像,然后运行identify命令。 您应该会收到类似以下内容的消息:

identify ~/capture.jpg 
capture.jpg JPEG 1216x244 1216x244+0+0 8-bit DirectClass 97.7kb

如果您收到错误,请尝试升级您服务器上的ImageMagick包。您可以在此处找到更新的二进制版本: http://www.imagemagick.org/script/binary-releases.php

在纠结了很久之后,我终于找出了问题所在:我们的 Linux 生产服务器上没有安装 .jpeg 和 .png 的库,但我的 iMac 上已经安装了。所以我不得不下载这些库并进行安装,然后再重新安装 ImageMagick(可惜 imagemagick.org 整个下午都无法访问 :( )。 - Chris

0

在我的情况下,出现相同的错误,重新安装ImageMagick有所帮助(Ubuntu 12.10)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接