Отображать изображение в GridFS

Я использую gridfs-поток 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);

Выходное разрешение: -введите описание изображения здесь

Отредактировано: -

Я попробовал это: -

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

Выводится вывод:

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

Изображение не показано.

1 ответ

Решение

Я использую файловый поток, демонстрирующий:

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 + '">');
});
Другие вопросы по тегам