2011-01-06 34 views
0

Windows 7でRuby 1.8.7とRails 2.3.5を実行しています。私は、Webアプリケーションで画像をアップロードPaperclipError、 "サムネイルの処理中にエラーが発生しました..."

(私が書かれていない)私はこのエラーを取得する:

[paperclip] identify -format %wx%h "C:/Windows/Temp/stream20110104-3660-1j1ap8i-0.jpg[0]" 2>NUL

[paperclip] convert "C:/Windows/Temp/stream20110104-3660-1j1ap8i-0.jpg[0]" -resize "100x140>" "C:/Windows/Temp/stream20110104-3660-1j1ap8i-020110104-3660-rmkivh-0" 2>NUL

[paperclip] An error was received while processing: There was an error processing the thumbnail for...

私はそれが動作CMDシェルに変換-コマンドをしようとします。 私は2つの仮想マシンとサーバー(すべてのWin 7)にWebアプリケーションをインストールし、どこにでもエラーを取得しました。

同じ構成の別のPC(Win 7も同様)で動作しますが、正常です。

この問題の原因が分かっていますか?

これは、このエラーを生成しますthumbnail.rbのコードです:

# Performs the conversion of the +file+ into a thumbnail. Returns the Tempfile 
# that contains the new image. 
def make 
    src = @file 
    dst = Tempfile.new([@basename, @format ? ".#{@format}" : '']) 
    dst.binmode 

    begin 
    parameters = [] 
    parameters << source_file_options 
    parameters << ":source" 
    parameters << transformation_command 
    parameters << convert_options 
    parameters << ":dest" 

    parameters = parameters.flatten.compact.join(" ").strip.squeeze(" ") 

    success = Paperclip.run("convert", parameters, :source => "#{File.expand_path(src.path)}[0]", :dest => File.expand_path(dst.path)) 
    rescue PaperclipCommandLineError => e 
    raise PaperclipError, "There was an error processing the thumbnail for #{@basename}" if @whiny 
    end 

    dst 
end 

答えて

1

あなたはImageMagickのがインストールされていますか?それはあなたのシステムPATHにありますか?

+0

はい、はいのどこかのImageMagickへのパスを定義することができます。私は、うまく動作したシェルのログと同じ変換コマンドを試しました。 – Hedge

4

Windowsはそれ自身のconvertツールですので、ImageMagickはSystem32フォルダよりもPATHに置く必要があります。

アプリケーションが他のコマンドラインと同じPATHで実行されていることを確認します。あなたがサービスとして実行している場合、チャンスはありません。

また、生成する一時ファイルを手動で処理できることを確認してください。出力には、障害の詳細が示されず、失敗しただけであることが示されます。

エラーが発生するとすぐに同じコマンドを実行してください。出力から、何が起こったのかは分かりません。また、識別番号がで、ファイルが正しくであることも確認してください。

+0

パスエントリを並べ替えると問題が解決しました。どうもありがとう。 – Hedge

+1

Hmn、あなたはこれが助けになったと知っていますが、それでもまだ他の投稿への回答を得ました:( –

1

これは古いスレッドだと知っていますが、私も同じ問題がありました。 ImageMagicKが正しくインストールされ、実行されていて、PATH変数を再配置しても問題はありませんでした。私がしなければならなかったことは、私が 'rails server'を走らせていた場所からCMDシェルを閉じて、それを再び開くことでした。 imagemagickとpaperclipをインストールしてから、新しいPATH変数を使用することができなかったのは、あなたが作業しているCMDシェルを再初期化するまで利用できませんでした。

0

あなたは/設定/初期化子

case Config::CONFIG['host_os'] 
    when /darwin/ # MacOS & macports 
     Paperclip.options[:command_path] = "/usr/local/bin" 
    when /mswin|mingw/ # Windows 
     Paperclip.options[:command_path] = "Your path " 
end 
関連する問題