Cómo recuperar y mostrar imágenes de MongoDB usando Node.js

Si se trata de imágenes con un tamaño inferior a 16 MB, es muy fácil recuperar y mostrar imágenes de MongoDB.

Supongamos que el esquema es:

var ImageSchema = nuevo esquema ({

nombre: Cadena,

datos: Buffer,

contentType: String

});

almacenando la imagen algo así:

var ImageSchema = mongoose.model (‘ImageSchema’, ImageSchema);

var imgPath = “D: /images/sample.jpg”;

var imgData = fs.readFileSync (imgPath);

Var image = new ImageSchema ({data: imgData, contentType: ‘image / png’});

Image.save (función (err, imagen) {});

ir a buscar una imagen como esta:

router.get (‘/ images /: givenImageName’, function (req, res, next) {

ImageSchema .findOne ({nombre: req.params.givenImageName}, función (err, imagen) {

if (err) devuelve next (err);

res.contentType (image.contentType);

res.send (image.data);

});

});

Si se trata de imágenes de más de 16 MB, utilice

GridFS – MongoDB Manual 3.4