9

我编写了一个简单的 Sinatra 应用程序,它使用 rmagick 从一些用户输入生成图像。图像以唯一的文件名保存在 ./public 目录中。在 Sinatra 生成的 HTML 中使用唯一的文件名,以便每个用户都能获得正确的图像。脚本每天一次删除超过一小时的文件。这显然是一个可怕的黑客,但我没有网络经验!

有什么方法可以在不先将 rmagick 图像保存到磁盘的情况下在 sinatra 中提供它?

4

1 回答 1

12

使用该Image#to_blob方法将内存中的图像转换为字符串:

get '/' do
  content_type 'image/png'
  img = Magick::Image.read('logo:')[0]
  img.format = 'png'
  img.to_blob
end
于 2010-03-03T11:21:37.197 回答