目前我正在编写一个 Sinatra 应用程序,它从用户那里获取一些图片并返回一张新图片。
有一部分haml形式:
%input{type:'file', name:'user_image'}
还有来自处理程序的代码:(蒙太奇是另一张图片)
source_userpic = params[:user_image][:tempfile]
blob = File.open(source_userpic).read
userpic = ImageList.new
userpic.from_blob(blob)
resized_img = userpic.scale(montage.columns,
montage.rows)
resized_img.opacity = MaxRGB/3
然后将两个图像“分层”合成并存储(不需要)
final_picture = ImageList.new
final_picture << montage.composite(resized_img, 0, 0, OverCompositeOp)
final_picture.write("./public/uploads/#{DateTime.now}.jpg" # dirty (for example)
接下来,我需要用ajax 显示一个final_picture。有两个明显的问题:首先,我不需要保存 final_picture - 它只是预览,其次,我必须编写代码以避免文件名冲突......
如何发送 final_picture 来查看?to_blob 方法?但接下来是什么?