Después de tanto luchar hemos dado con la solución de este asunto que muchos lectores de este espacio han tenido. Si deseas aportar algo más no dudes en dejar tu conocimiento.
Solución:
Para registrar cada campo en formData
let myForm = document.getElementById('myForm');
formData = new FormData(myForm);
for (let [key, value] of formData.entries())
console.log(key, value);
Violín – https://jsfiddle.net/thesumit67/j4znhxa5/1/
Para manejarlo via express use multer. Aquí hay un ejemplo: https://www.npmjs.com/package/multer
Asegúrate de agregar enctype="multipart/form-data"
en el elemento de formulario. De lo contrario, Multer lo ignorará.
let multer = require('multer');
let upload = multer();
app.post('/save', upload.fields([]), (req, res) =>
console.log( req.body );
console.log( req.files );
res.sendStatus(200);
);
body-parser está en desuso y ya no forma parte de Express.
Además, body-parser no proporciona la funcionalidad para analizar datos de publicación de datos de formulario.
De la descripción del repositorio body-parser:
Esto no maneja cuerpos de varias partes, debido a su naturaleza compleja y típicamente grande. Para cuerpos de varias partes, puede que le interesen los siguientes módulos:
- ayudante de camarero y ayudante de camarero conectado
- multipartidista y connect-multiparty
- formidable
- multrar
Aquí tienes las reseñas y puntuaciones
Si estás de acuerdo, tienes la habilidad dejar una reseña acerca de qué te ha gustado de esta reseña.