Cómo manejar FormData desde Express 4

Intenté enviar algunos datos de formulario a mi servidor de nodo pero req.body no tiene ninguno de mis campos de formulario en el lado del nodo

  var express = require('express') var app = express() var path = require('path') var bodyParser = require('body-parser') app.use(bodyParser.urlencoded({ extended: true })); app.get('/', function (req, res) { res.sendFile('index.html') }) app.post('/sendmail', function (req, res) { const formData = req.body.formData 

Esto es lo que estoy enviando desde el navegador.

 fetch('/send', { method: 'POST', body: new FormData(form) }) 

en las herramientas de desarrollo solo veo los datos que se pasan en el Referer, tal vez ese sea mi problema

Referer: http: // localhost: 3000 /? Name = & budget =% C2% A31000

body-parser no maneja cuerpos de varias partes, que es como FormData se envía.

En su lugar, utilice un módulo como multer .

Por ejemplo, para recuperar los campos (regulares) de una solicitud:

 let multer = require('multer'); let upload = multer(); app.post('/send', upload.fields([]), (req, res) => { let formData = req.body; console.log('form data', formData); res.sendStatus(200); });