ruby-on-rails – FloatDomainError(无限)

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

解决方法

我有同样的问题.问题是mini_magick.如果它运行的图像文件识别错误,则识别将输出某种错误,例如
identify: Corrupt JPEG data: 7929 extraneous bytes before marker 0xed `image.jpg' @ warning/jpeg.c/EmitMessage/230.
11811 8665

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

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

gem 'mini_magick',:git => 'git://github.com/fschwahn/mini_magick.git'

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...