7

画像をアップロードするには、carrierwave と mini_magick を使用します。開発中はすべて問題ありませんが、本番FloatDomainError (Infinity)環境では画像をアップロードしようとすると発生します。同じサーバーでホストされているいくつかのプロジェクトがあり、アップロードに問題はありません。Rails 3.0.10 を使用しています。どうすれば修正できますか?ありがとう

4

4 に答える 4

10

私も同じ問題を抱えていました。問題はmini_magick. 実行する画像ファイルにエラーがある場合identify、identify は何らかのエラーを出力します。

identify: Corrupt JPEG data: 7929 extraneous bytes before marker 0xed `image.jpg' @ warning/jpeg.c/EmitMessage/230.
11811 8665

mini_magickはエラー メッセージをディメンションとして解析しようとしましたが、結果は0です。これにより、ゼロによる除算が発生し、言及した例外が発生します。これが、一部の画像でのみ失敗する理由です。

identify-quietこれらの警告メッセージをオフにするオプションがあります。https://github.com/fschwahn/mini_magickでmini_magick をフォークし、quiet オプションを追加しました。この変更が取り入れられることを願っています (または、問題がより洗練された方法で修正されることを願っています)。ただし、今のところ、Gemfile に以下を追加することで、私のフォークを使用できます。

gem 'mini_magick', :git => 'git://github.com/fschwahn/mini_magick.git'
于 2011-10-14T12:59:36.023 に答える
1

に置き換えresize_and_fillて修正しましたresize_and_pad。まだその奇妙な振る舞いを理解していません。

于 2011-08-30T13:32:05.340 に答える
1

Ubuntu Imagemagick パッケージ バージョン 6.7 を使用していました。https://askubuntu.com/questions/267746/how-can-i-install-the-latest-upstream-version-of-imagemagick-without-compilingの手順に従って 6.8 にアップグレードしましたが、うまくいきました。

于 2013-11-05T19:49:37.827 に答える
0

PDFファイルの画像サムネイルを生成したときに、最新のgem updateでこのエラーが発生しました。

このコードは失敗します:

version :thumb do
  process :resize_to_fill => [260, 192]
  process :convert => :png
  process :set_content_type
  process :thumbnail_pdf
end

行の順番を入れ替えて解決しました。重要なのは、サイズMiniMagicを変更する前にまずサムネイルを画像に変換し、その後サイズを変更しようとすることでした。

これが私のために働いた解決策です。多分それは誰かのために役立つでしょう。

  process :convert => :png
  process :resize_to_fill => [260, 192]
于 2015-01-03T17:26:24.083 に答える