2010-03-03 7 views
8

Ho scritto una semplice app di Sinatra che genera un'immagine usando rmagick da alcuni input dell'utente. L'immagine viene salvata nella directory ./public con un nome file univoco. Il nome file univoco viene utilizzato nel codice HTML generato da Sinatra in modo che ogni utente ottenga l'immagine corretta. Una volta al giorno uno script cancella i file più vecchi di un'ora. Questo è chiaramente un terribile trucco, ma non ho esperienza sul web!Come pubblicare immagini generate con sinatra in rubino

C'è un modo per servire l'immagine rmagick in sinatra senza prima salvarla su disco?

risposta

11

utilizzare il metodo Image#to_blob per ruotare l'immagine in memoria in una stringa:

get '/' do 
    content_type 'image/png' 
    img = Magick::Image.read('logo:')[0] 
    img.format = 'png' 
    img.to_blob 
end