Я использую следующий код для чтения файла изображения, сохраненного в MongoDB используя GridFs:Показать изображения из GridFs (MongoDB)
app.get('/picture', function(req, res) {
var readstream = gfs.createReadStream({
filename: 'trooper.jpeg'
});
readstream.on('data', function (data) {
// We got a buffer of data...
var buf2 = new Buffer(data).toString('base64');
res.send(buf2.toString())
console.log(buf2.toString());
console.log(data);
});
readstream.on('end', function() {
// File finished reading...
});
});
Выход console.log (buff.toString()); является:
dHJvb3Blci5qcGVn
Выход console.log (данных); является:
<Buffer 74 72 6f 6f 70 65 72 2e 6a 70 65 67>
Чтобы отобразить изображение, я это сделал:
<img src="data:image/jpeg;base64,dHJvb3Blci5qcGVn">
Я не могу читать и выводить изображение в формате HTML с GridFs MongoDB
UPDATE:
Я пробовал:
app.get('/picture', function(req, res) {
res.contentType('image/jpeg');
var readstream = gfs.createReadStream('trooper.jpeg');
readstream.pipe(res);
});
Выход вышеперечисленное:
Большое вам спасибо за ваш ответ. Я не уверен, правильно ли я сохранил его. Я разместил этот вопрос, который содержит код для загрузки файла вместе с изображениями. Не могли бы вы посмотреть http://stackoverflow.com/questions/34904157/reading-and-displaying-images-from-mongodb-using-gridfs – Skywalker
Да, вы сохранили имя файла, а не двоичную полезную нагрузку. Я ответил. –