0

I am saving images of my aplication into gridfs. The problem becomes when I need to show the image. I don't know how can i do it. I'm using node.js, geddy framework and mongodb.

 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 is the image id. When i do console.log(data) I recive:

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

How can I do to respond the image in png format to the view? thanks...a lot!

pekpon
  • 761
  • 1
  • 10
  • 24

1 Answers1

0

I've never used geddy at all, but you might want to look at this:

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

The basic idea is to set the right "Content-Type" header ("image/png" should work) and simply reply to the request with the image data.

Your browser can render the image if you're using an <img src="/url/to/your/image/request/handler">... tag in the html.

You can't console.log image data with most shells / command lines, sorry. ;)

Community
  • 1
  • 1
rdrey
  • 9,379
  • 4
  • 40
  • 52