3

Windows7マシンでPaperclip3.3.0を使用してRails3.2.8を実行しています。「2012-10-26_17.49.13.png」という名前の画像をアップロードしようとすると、次のエラーが発生します。Image There was an error processing the thumbnail for 2012-10-26_17.49.1320121027-1196-l5ejgs

error processing the thumbnail for streamファイル名は重要ではないかもしれませんが、私が見つけたこれに関連する質問のほとんどは、代わりに言っていることを指摘したいと思います。エラーに「ストリーム」がありません。ファイル名の末尾は、アップロードしようとするたびにランダムに変化します(Paperclipは衝突を回避していると思います)。

画像フィールドは、次のようにモデルに設定されます。

has_attached_file :image, :path => ":rails_root/public/images/:hash_:style.:extension", :url => "/images/:hash_:style.:extension", :hash_secret => "sometext", :default_url => "", :styles => { :thumb => "100x100#" }
validates_attachment_content_type :image, :content_type => ['image/jpeg','image/jpg','image/pjpeg','image/png','image/x-png','image/gif']

は現在has_attached_file使用:hash中ですが、私も試してみました:basefilenameが、結果には影響しませんでした。:thumbスタイルも試されました"100x100>"

フィールドは次のようになり_form.html.erbます:

<div class="field">
  <%= f.label :image %><br />
  <%= f.file_field :image %>
</div>

:imageそして、 Paperclipが私のためにすべてを処理しているように見えるので、コントローラーには特別なことは何もありません。少なくとも、それは私がサンプルコードを見て集めたものです。

ImageMagickに問題があるのではないかと思います。このエラーに対して私が見つけた解決策のいくつかは、ImageMagickのインストール場所に関係していました。私は自分のC:/ ImageMagick6に移動し、システムパスを更新し、development.rbに次の行を追加しました。

Paperclip.options[:command_path] = "C:/ImageMagick6"
Paperclip.options[:swallow_stderr] = false
Paperclip.options[:whiny_thumbnails] = true

後者の2つが必要かどうかは完全にはわかりませんが、提案されているのを見ました。それらを含めることによる変更に気づきませんでした。コマンドプロンプトを開くと、ImageMagickコマンドにアクセスできるので、パスは正しいはずです。

また、これを削除して実行しようとしました:styles。これにより、元の画像ファイルをアップロードできました。でも、自分のサイトのサムネイルが本当に欲しいです。

それで、これが機能しないのを妨げているのは何を見逃したのですか?

4

3 に答える 3

1

Despite having added Paperclip.options[:command_path] = 'C:/progra~2/imagem~1.0-q' to my config/environments/development.rb file, I had to add C:/progra~2/imagem~1.0-q before %SystemRoot%\system32 in the environment path.

I confirmed this by revising the environment path back and forth a few times.

于 2013-01-05T05:40:08.573 に答える
0

コマンドラインから直接ImageMagickを使用して、画像を操作してみてください。少なくとも、これにより、ImageMagickのインストールに問題があるかどうかを確認できます。

于 2012-10-27T20:17:30.073 に答える
0

Paperclip を使用するには、ImageMagick ライブラリをインストールする必要があります。

ImageMagickは、Paperclip に必要な 2 つの実行可能ファイルを提供します。イメージ形式identify識別convertし、元のイメージを処理して目的の形式を生成します。

現在、ImageMagick はデフォルトでは Windows に付属していないため、手動でインストールする必要があります。

後で、 Paperclip の READMEにすべて記載されている ImageMagick 実行可能ファイルの場所を Paperclip に伝える必要があります。

Paperclip.options[:command_path]ImageMagick がインストールされた PATH に設定しないと、Paperclip は Windows の実行可能ファイルを誤って使用しようとすることに注意してくださいconvert。これはファイルシステム変換ユーティリティであり、画像を処理するためのものではありません。

これが、サムネイルの生成に関して現在受け取っているエラーだと思います。

それが役立つことを願っています。

于 2012-10-27T20:08:18.807 に答える