0

アップロードされた画像を (手ごわいを使用して) 受け入れ、それを Amazon S3 バケットに保存するノード アプリがあります。S3 に保存する前に、今後の検討のために画像の幅、高さなどを取得したいと考えています。NodeJSで画像を開き、幅/高さを見つけるのに役立つこの質問を見つけました

ただし、imagemagick (または gm、そのためには両方を試しました) で画像を開こうとすると、エラー 127 が発生します。具体的には、imagemagick は次のように報告します。

{"timedOut":false,"killed":false,"code":127,"signal":null}

ファイルが存在することはわかっており (S3 バケットに適切にアップロードされているため)、fs を介してファイルを操作 (名前の変更など) できますが、エラー コード 127 に関するドキュメントが見つからず、IM が失敗する理由を特定できません。formidable にアップロードされたファイルに何か問題があり、正しく読み取られなかったのではないかと考えて、imagemagick を使用して、同じフォルダーに単純な「test.jpg」画像を読み込んでみました。

    im.identify('test.jpg', function(err, features){
        if(!err) 
        {
            // my image processing code
        }
        else
        {
            // my err handling code; spits out the error above
        }
    });

残念ながら、test.jpg が正しく適切にフォーマットされた画像であると確信しているにもかかわらず、これはまったく同じ方法で失敗します。

それで、エラー127とは何か、そしてfsがファイルを問題なく読み取ることができるときにImageMagickがそれをスローする理由を理解するのを手伝ってくれる人はいますか...?

4

4 に答える 4

2

これらは、インストールされていることを確認する Imagemagick へのパスを見つけるための 2 つの php コマンドです。PHP では、convert を使用するだけで問題が発生し、フル パスを使用する必要がある場合があります。/usr/local/bin/convert のようなもの

echo "<pre>";
system("type convert"); 
system('which convert',$path); print_r($path); 
echo "</pre>";

あなたがphpを使用していないことは知っていますが、それでもメソッドを使用できるはずです。

于 2012-06-05T18:18:58.730 に答える
1

「変換」がインストールされていることを確認してください

sudo apt-get アップデート

sudo apt-get install imagemagick --fix-missing

于 2012-08-31T13:15:28.140 に答える
0

ダープ。ImageMagick 自体はインストールしていません。NPM のインストールだけで十分だと思いました。追加の依存関係があることを認識しておらず、エラー メッセージが少し不可解でした ;)

于 2012-06-05T19:03:02.990 に答える
0

私は同じ問題を抱えていました.Graphics Magickをインストールするだけです.http: //www.graphicsmagick.org/

インストールがウィザードの提案どおりに機能するかどうかをテストしてください。

于 2013-05-28T20:22:57.303 に答える