Я использую 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)
- Rails Версия: 3.0.7
- Версия Ruby: 1.8.7
- Версия MiniMagick: 3.3