我正在尝试使用Sinatra和RMagick做一些非常简单的事情。
- 拍一张图片,通过简单的表单文件上传
- 使用 RMagick 调整大小
- 然后将其存储在数据库中以进行持久性(无关)
但是在经历了 RDocs 和无休止的头部撞击测试之后,我似乎无法将表单图像干净地传递给 RMagick 对象。
这是目前为我工作的可怕事情:
def image_resize(img_data)
filecount = rand
writer = File.new("/tmp/#{filecount}.jpg", "w")
writer.puts(img_data)
writer.close
resized_image = Magick::ImageList.new("/tmp/#{filecount}.jpg").first
resized_image.crop_resized!(100,100, Magick::NorthGravity)
resized.format = 'jpeg'
resized_image.to_blob
end
#call the method with my form image data
image_resize(params[:image][:tempfile].read)
那么我该如何做明显正确的事情,只需将表单图像数据直接粘贴到 RMagick 对象中,而无需写入和读取磁盘。
我在 Magick::Image 和 ImageLists 中尝试了各种阅读方式,但只有大量错误向我吐槽。
感谢您的任何指示
-1.2。