检查Minimagick高度冻结控制台

时间:2017-06-08 17:54:36

标签: ruby-on-rails image file upload minimagick

我正在使用Rails和MiniMagick,并通过file_fieldMiniMagick::Image.read(image.read)上传了这个对象:

=> #<MiniMagick::Image:0x007feb61ac7048
 @info=#<MiniMagick::Image::Info:0x007feb61ac6ff8 @info={}, @path="/var/folders/s5/0r70nfzn2cj74qmc90ry3kc80000gp/T/mini_magick20170608-62480-1kxoub0">,
 @path="/var/folders/s5/0r70nfzn2cj74qmc90ry3kc80000gp/T/mini_magick20170608-62480-1kxoub0",
 @tempfile=#<File:/var/folders/s5/0r70nfzn2cj74qmc90ry3kc80000gp/T/mini_magick20170608-62480-1kxoub0 (closed)>>

我想用image['height']查看对象的高度,但每当我完成时我的命令行会冻结或我得到No live threads left. Deadlock?。如果我让程序在没有调试器的情况下运行

`identify -format %m %w %h %b /var/folders/s5/0r70nfzn2cj74qmc90ry3kc80000gp/T/mini_magick20170608-62480-v5agnm[0]` failed with error: identify: no decode delegate for this image format `' @ error/constitute.c/ReadImage/509.

我已尝试添加

MiniMagick.configure do |config|
  config.validate_on_create = false
  config.validate_on_write = false
end

但它没有帮助。

1 个答案:

答案 0 :(得分:0)

我认为问题出在您的图像路径中,为了排除故障,请将RMagick从等式中移除,然后测试查找 该文件包含:

myfile = "#{RAILS_ROOT}/public/images/world.jpg"
  File.open myfile, 'r' { |f| puts "Success!\n\nFile Contents:" + f.read
}

另外,尝试使用“script / console”来玩这个。以上几行 可以输入那里。这样可以更轻松地进行实验 崩溃了网络服务器。

代表reference