Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

174
Views
Error: "indefinido" al cargar varios archivos usando multer

Ruta:

 router.post('/MOCReport', upload.array('files'), MOCReportController.MOCReport_post);

Controlador:

 exports.MOCReport_post = (req, res, next) => { const files = req.files; console.log(files.filename); if(!files){ const error = new Error('Please upload an image') error.httpStatusCode = 400 return next (error) } var paths = req.files.map(files => file.path) let newMOCReport = new MOCReport({ facilityName: req.body.facilityName, MoCDescription: req.body.MoCDescription, MoCReportDateTime: req.body.MoCReportDateTime, MoCDisasterLocation: req.body.MoCDisasterLocation, mocImage: req.files.paths }); newMOCReport.save().then((MOCReportDoc) => { res.send(MOCReportDoc); }); }; Schema: mocImage:{ type: Array, required: false },

Obteniendo un error indefinido al cargar varias imágenes en la base de datos mongoDB con multer.

Error: escuchando el puerto 3000 Conectado a MongoDB con éxito :)

indefinido

POST /MoCReport 500 44.414 ms - 43

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Compruebe si está enviando todos los archivos con el mismo nombre " archivos ".

Puedes intentar cambiar esto:

 upload.array('files')

a esto:

 upload.any()

El método any() aceptará todos los archivos. No comprobará el nombre del campo.

Además, después de este cambio, debe cambiar esta línea:

 var paths = req.files.map(files => file.path);

Tiene un error allí, porque está mapeando files y está accediendo al file . Cámbialo así:

 const paths = req.files.map(file => file.path);
about 4 years ago · Juan Pablo Isaza Report

0

Compruebe que este es el código de trabajo completo.

 const express = require('express') const app = express() const port = 3000 const multer = require('multer') const upload = multer({ dest: 'uploads/' }) app.get('/', (req, res) => { res.send('<form id="form_el" class=\'new-project\' action=\'/MOCReport\' method=\'POST\' enctype="multipart/form-data">\n' + ' <label for=\'file\'>Select your image:</label>\n' + ' <input type=\'file\' multiple=\'multiple\' accept=\'image/!*\' name=\'uploadedImages\' id=\'file\' />\n' + ' <span class=\'hint\'>Supported files: jpg, jpeg, png.</span>\n' + ' <button type=\'submit\'>upload</button>\n' + '</form>') }) app.post('/MOCReport',upload.any(),function (req, res, next){ const files = req.files; console.log(JSON.stringify(files)); res.send('Uploaded successfully'); }); app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
about 4 years ago · Juan Pablo Isaza Report

0

yo tambien tuve un problema similar

Por favor revise el código de reacción

Verifique la estructura para ver si la información del archivo está correctamente cargada en formdata.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!