5

当我尝试在本地机器上使用Paperclip在Ruby on Rails中上传照片时,它运行良好。

当我尝试在带有 Apache 和Phusion Passenger的 Linux( CentOS 5.2)服务器上使用 Paperclip 在 Ruby on Rails 中上传照片时,我得到:

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"=>"Upload", "action"=>"update", "_method"=>"put", "authenticity_token"=>"419410afc22737cd2f6b6096a95327db76a48ba9", "controller"=>"users", "user "=>{"avatar"=>#}} [回形针] 保存附件。[回形针] 处理时收到错误:

“识别”命令无法识别 /tmp/stream20091026-20752-1g568yk-0。

4

2 回答 2

4

识别是ImageMagick包中的一个命令行实用程序。

从它的主页:

识别程序描述了一个或多个图像文件的格式和特征。它还报告图像是否不完整或损坏。返回的信息包括图片编号、文件名、图片的宽高、图片是否有颜色映射、图片的颜色个数、图片的字节数、图片的格式( JPEG、PNM 等),最后是读取和处理图像所需的秒数。详细选项提供了更多属性。

首先,复制服务器上的图像并在其上运行识别命令。你应该收到类似的东西:

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

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

于 2009-10-26T12:51:45.363 回答
0

在我的情况下,同样的错误,重新安装 imagemagic 有帮助(ubuntu 12.10)

于 2012-12-28T17:29:35.907 回答