FloatDomainError(无限)

Ser*_*nin 7 ruby-on-rails carrierwave minimagick

我使用carrierwave和mini_magick上传图片.在开发过程中一切都很好,但在生产中它会FloatDomainError (Infinity)在我尝试上传图像时提升.我在同一台服务器上托管了几个项目,上传一切都很顺利.我使用Rails 3.0.10.任何想法如何解决它?谢谢

fab*_*abi 10

我有同样的问题.问题是mini_magick.如果它运行的图像文件identify是错误的,识别将输出某种错误,例如

identify: Corrupt JPEG data: 7929 extraneous bytes before marker 0xed `image.jpg' @ warning/jpeg.c/EmitMessage/230.
11811 8665
Run Code Online (Sandbox Code Playgroud)

mini_magick尝试将错误消息解析为维度,结果是0.这会导致除以零,从而导致您提到的异常.这就是为什么它只会失败一些图像.

identify有一个-quiet选项可以关闭这些警告消息.我在https://github.com/fschwahn/mini_magick上分享了mini_magick 并添加了quiet选项.我希望这个改变会被拉入(或者问题将以更优雅的方式解决).但是,现在您可以通过将以下内容添加到Gemfile来使用我的fork:

gem 'mini_magick', :git => 'git://github.com/fschwahn/mini_magick.git'
Run Code Online (Sandbox Code Playgroud)