2010-03-03 3 views
8

J'ai écrit une application Sinatra simple qui génère une image en utilisant rmagick à partir de certaines entrées de l'utilisateur. L'image est enregistrée dans le répertoire ./public avec un nom de fichier unique. Le nom de fichier unique est utilisé dans le code HTML généré par Sinatra afin que chaque utilisateur obtienne la bonne image. Une fois par jour, un script supprime des fichiers de plus d'une heure. C'est clairement un hack terrible mais je n'ai pas d'expérience web!Comment servir les images générées avec sinatra dans ruby ​​

Est-il possible de diffuser l'image rmagick dans sinatra sans la sauvegarder sur le disque?

Répondre

11

utiliser la méthode Image#to_blob pour mettre l'image en mémoire dans une chaîne:

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