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
。これにより、元の画像ファイルをアップロードできました。でも、自分のサイトのサムネイルが本当に欲しいです。
それで、これが機能しないのを妨げているのは何を見逃したのですか?