Cómo mostrar la imagen de MongoDB usando Node.js

Es fácil para nosotros almacenar / obtener datos en mongoDB usando nodejs a través de los métodos POST y GET Api … cuando se trata de almacenar una imagen … es diferente a la hora de almacenar datos de campos normales … mientras intentaba almacenar y leer la imagen, se enfrentó un poco duro ..

Entonces, esta publicación le muestra la forma fácil y comprensible de almacenar y obtener la imagen de MongoDB usando nodejs, Express y Mongoose.

Esta publicación le enseñará cómo almacenar imágenes en una base de datos MongoDB usando el ODM Mongoose, así como recuperar y mostrar esas imágenes.

hemos establecido una conexión con nuestra base de datos y requerimos todos los paquetes necesarios, ahora podemos comenzar a definir nuestra lógica del lado del servidor. Primero debemos definir nuestro esquema de base de datos.

La forma en que intento almacenar la imagen es como … estoy cargando y almacenando la imagen en mi directorio de proyecto (cargas) y usando la ruta de la imagen para almacenar en la colección Mongo … mientras obtengo la imagen, obteniendo la ruta de la imagen desde mongoDB y refiriéndolo para obtener la imagen exacta.

  • Uploads es el directorio que almacena imágenes / archivos que cargamos.
  • rutas tiene la clase ‘imagefile.js’ que contiene la lógica de almacenamiento de imagen / archivo y obtener
  • views tiene la clase ‘index, ejs’ que contiene lógica de carga HTML
  • app.js es la clase principal
  • package.json tiene la información sobre los paquetes instalados

http://www.prapti.co.uk/

Aquí hay algunos enlaces que utilicé para adaptarlo a mis necesidades de servidor y front-end (Express / Node y Angular):

Subir imágenes con Angular:
https://github.com/danialfarid/n

Codificación del controlador angular y su HTML para enviar un archivo a la vez:
http://jsfiddle.net/danialfarid/

Necesitaba usar middleware con mi servidor para recibir la imagen:
// http://stackoverflow.com/questio
var multipart = require (‘connect-multiparty’);
var multipartMiddleware = multipart ();

Al recuperar la imagen de la base de datos, es posible que deba convertir el búfer de la matriz de imágenes en una cadena base 64 antes de mostrarla en HTML:
http://stackoverflow.com/questio

Ya he respondido una pregunta similar. Mira esto.

¿Cómo se obtienen y muestran imágenes de MongoDB con Node.js?

Depende de en qué formato esté almacenando los datos en su colección MongoDB. Si está almacenando la imagen como datos binarios, convierta los datos usando data.toString (‘base64’) y luego pase estos datos de base64 a nuestro atributo img src en este formato: