2012-11-27 5 views
0

Je sauvegarde des images de mon application dans gridfs. Le problème devient quand j'ai besoin de montrer l'image. Je ne sais pas comment je peux le faire. J'utilise node.js, geddy framework et mongodb.Afficher l'image enregistrée dans mongodb gridfs avec node.js

this.show = function (req, resp, params) { 
var self = this; 
    var GridFS = require('GridFS').GridFS; 
    var myFS = new GridFS('resources'); 

    //recupero la imagen 
    myFS.get(params.id,function(err,data){ 

    }); 

    myFS.close(); 

params.id est l'identifiant de l'image. Quand je fais console.log (données) Je recive:

Buffer <90 f8 w8 dj 4f....> 

Comment puis-je faire pour répondre l'image au format .png à la vue? merci beaucoup!

Répondre

0

Je ne l'ai jamais utilisé geddy du tout, mais vous pourriez vouloir regarder ceci:

Render Image Stored in Mongo (GridFS) with Node + Jade + Express

L'idée de base est de définir le droit « Content-Type » en-tête ("image/png "devrait fonctionner) et simplement répondre à la demande avec les données d'image.

Votre navigateur peut rendre l'image si vous utilisez une balise <img src="/url/to/your/image/request/handler">... dans le code HTML.

Vous ne pouvez pas console.log données d'image avec la plupart des shells/lignes de commande, désolé. ;)