我正在使用 MiniMagick 对通过多部分表单上传的图像执行一些图像大小调整。我需要从最初上传的文件中生成几种不同类型的图像。这是执行图像处理的代码:
// Generates a thumbnail image
mm = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm.resize(thumbnail_dimensions.join("x"))
mm.write(Rails.root.join('public', 'uploads', "t_"+new_url))
// Generates cropped version
mm_copy = MiniMagick::Image.open(Rails.root.join('public', 'uploads', new_url))
mm_copy.crop('200x200')
mm_copy.write(Rails.root.join('public', 'uploads', "c_"+new_url))
new_url
是文件夹中图像的路径public
。缩略图例程完美运行。当应用程序开始处理裁剪后的版本时,这就是事情开始破裂的地方,我一生都无法弄清楚。从此代码收到以下错误:
No such file or directory - /tmp/mini_magick20110627-10055-2dimyl-0.jpg
我在 Rails 中使用垃圾收集器阅读了一些关于可能的竞争条件的内容,但我无法解决这个问题。我也从控制台尝试过这个,并且可以创建 MiniMagick 实例,但也在No such file
那里收到错误。在这一点上,我不知道去哪里,所以我希望这里有人能提供一些有用的建议。谢谢你的帮助!
详情:
- 操作系统:Ubuntu (Lucid Lynx)
- 导轨版本:3.0.7
- 红宝石版本:1.8.7
- MiniMagick 版本:3.3