我写了一个简单的Sinatra应用程序,它使用来自某些用户输入的rmagick生成图像.图像以唯一的文件名保存在./public目录中.在Sinatra生成的
HTML中使用唯一文件名,以便每个用户获得正确的图像.每天一次脚本删除超过一小时的文件.这显然是一个可怕的黑客,但我没有网络经验!
有没有办法在没有先将它保存到磁盘的情况下在sinatra中提供rmagick图像?
解决方法
使用
Image#to_blob
方法将内存中的图像转换为字符串:
get '/' do content_type 'image/png' img = Magick::Image.read('logo:')[0] img.format = 'png' img.to_blob end