Pregunta

Me escribió una sencilla aplicación Sinatra que generan una imagen utilizando RMagick de algunas entradas del usuario. La imagen se guarda en el directorio ./public con un nombre de archivo único. El nombre de archivo único se utiliza en el HTML generado por Sinatra para que cada usuario obtiene la imagen correcta. Una vez al día a la secuencia de comandos elimina los archivos de más de una hora. Esto es claramente un terrible corte pero no tengo ninguna experiencia en la red!

¿Hay alguna manera de servir a la imagen RMagick en Sinatra sin guardar en el disco?

¿Fue útil?

Solución

Utilice el método Image#to_blob para convertir la imagen en memoria en una cadena:

get '/' do
  content_type 'image/png'
  img = Magick::Image.read('logo:')[0]
  img.format = 'png'
  img.to_blob
end
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top