在GridFS中显示图像

时间:2014-03-06 08:51:58

标签: javascript node.js angularjs gridfs

我正在使用gridfs-stream https://github.com/aheckmann/gridfs-stream&目前我正在使用gridFS显示图像。

读取数据时,它会给我以下输出。当我将此数据附加到<img src="data:image/jpeg;base64,(data)">时,图像不会显示。

  gfs
// create a read stream from gfs...
.createReadStream({ filename: 'error1.png' })
// and pipe it to Express' response
.pipe(res);

输出资源: - enter image description here

编辑: -

我试过了: -

img.src = 'data:image/jpeg;base64,' + btoa(res);

呈现的输出是: -

<img src="data:image/jpeg;base64,W29iamVjdCBPYmplY3Rd">

没有显示图片。

1 个答案:

答案 0 :(得分:5)

我使用文件流演示:

var rstream = fs.createReadStream('test.png');

var bufs = [];

rstream.on('data', function(chunk) {

    bufs.push(chunk);

}).on('end', function() { // done

    var fbuf = Buffer.concat(bufs);

    var base64 = (fbuf.toString('base64'));

    res.send('<img src="data:image/jpeg;base64,' + base64 + '">');
});