ペーパークリップ/乗客NotIdentifiedByImageMagickError:
-
06-07-2019 - |
質問
LinuxでPaperclipを使用してRuby on Railsで写真をアップロードしようとすると( CentOS 5.2)Apacheと Phusion Passenger を搭載したサーバー、次のようになります:
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" =>"アップロード&quot ;, " action" =>" update"、" _method" =>" put&quot ;、 " authenticity_token" =>" 419410afc22737cd2f6b6096a95327db76a48ba9 ''、 " controller" =>" users&quot ;, " user" => {"アバター" =>#}} [ペーパークリップ]添付ファイルを保存しています。 [ペーパークリップ]エラーを受信しました 処理中:
/ tmp / stream20091026-20752-1g568yk-0は 「識別」によって認識されない コマンド。
解決
Identifyは、 ImageMagick パッケージ内のコマンドラインユーティリティです。
ホームページから:
識別プログラムは、 1つまたは より多くの画像ファイル。また、も報告します 画像が不完全または破損しています。の 返される情報には 画像番号、ファイル名、幅 画像の高さ、 画像がカラーマッピングされているかどうか、 画像の色数、 画像のバイト数、 画像の形式(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
他のヒント
同じ場合、imagemagicを再インストールすると解決しました(ubuntu 12.10)