Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

679
Vistas
Cómo guardar la URL de la imagen en mongodb y recuperarla

Por favor, intento hacer una publicación y recibir una solicitud del cartero que guardará la ruta de la imagen en mongodb, no en binario. Publiqué con éxito los datos en mongodb que incluyen datos de formulario (texto y archivo), pero el archivo es un búfer. Quiero que sean datos binarios, de modo que cuando quiera recuperarlos no obtenga datos binarios. el texto se está publicando con éxito, y estoy recuperando el texto requerido, pero la imagen está enviando binarios y estoy recibiendo binarios, lo cual es una muy mala idea.

Por favor necesito ayuda.

 //POST Request app.post('/request', upload.single('images'), async function(req, res){ const requestBody = { name: req.body.name, description: req.body.description, images: req.file.buffer } const request = new Request(requestBody) try{ await request.save() res.status(201).send() }catch(e){ res.status(400).send(e) } }) //GET request app.get('/request', async function(req, res){ try{ const requests = await Request.find({}) // console.log(requests) res.send() }catch(e){ res.status(500).send() } })
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede guardar la ruta del archivo en una carpeta pública y guardar la ruta con una cadena en mongodb

Debe crear una carpeta de photos dentro de una carpeta pública y configurarla como estática

 mkdir -p public/photos

Entonces puedes registrar la ruta con express static

 app.use(express.static(__dirname, 'public'))

y guarde la ruta que se requiere en db. Aquí debe usar la ruta estática del archivo que se almacena en req.file.path

 const upload = require('multer')({ dest: path.join(__dirname, 'public/photos') }) app.post('/request', upload.single('images'), async function(req, res){ const requestBody = { name: req.body.name, description: req.body.description, images: req.file.path } const request = new Request(requestBody) try{ await request.save() res.status(201).send() }catch(e){ res.status(400).send(e) } })
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda