在我的RoR項目中我使用CarrierWave + MiniMagick並部署到Heroku進行生產。Heroku,CarrierWave,MiniMagick:隨機tmp文件丟失
我在生產中有這個問題,有時圖像處理tmp文件丟失。我得到這個錯誤:
Errno::ENOENT: No such file or directory - /tmp/mini_magick20130319-2-3wq6l6.jpg
我還有其他XUploader類的作品,但這個特殊的有兩個圖像處理。起初我對這個兩個獨立的過程:
process :resizer
def resizer
resize_to_fit(model.jrac_image_width, model.jrac_image_height)
end
process :cropper
def cropper
manipulate! do |img|
img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}")
img
end
end
,但它說我是在:cropper
有錯誤,說的tmp文件不存在。我試圖更改代碼到這一點,希望這將只在它的工作一次:
process :resize_and_crop
def resize_and_crop
manipulate! do |img|
img.resize("#{model.jrac_image_width}x#{model.jrac_image_height}") # resize_to_fit
img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}") # cropper
img
end
end
但遺憾的是,仍然遇到同樣的錯誤。
有沒有人有任何想法問題的地方?我不知道它是用Heroku還是CarrierWave還是ImageMagick?
編輯
我也有這個代碼在我Uploader
類
def cache_dir
"#{Rails.root}/tmp/uploads"
end
爲這個document。
哦,是對不起。我在'Uploader'類中有這個:'def cache_dir; 「#{Rails.root}/TMP /上傳」; end' – index 2013-04-29 04:56:03