Handle POST Form Data with Express JS
Jan 10, 2022
Express doesn't handle FormData instances by default. FormData is useful for tasks like uploading a file. You need to use a separate FormData parser, like Formidable, as shown below.
const formidable = require('formidable'); app.post('/upload', function(req, res) { const form = new formidable.IncomingForm(); // Parse `req` and upload all associated files. `files` contains // all files that were uploaded with the form. form.parse(req, function(err, fields, files) { if (err) { return res.status(400).json({ error: err.message }); } const [firstFileName] = Object.keys(files); res.json({ filename: firstFileName }); }); });
Want to become your team's Express expert? There's no better way to really grok a framework than to write your own clone from scratch. In 15 concise pages, this tutorial walks you through how to write a simplified clone of Express called Espresso. Get your copy!
Espresso supports:
Get the tutorial and master Express today!
Espresso supports:
- Route handlers, like `app.get()` and `app.post()`
- Express-compatible middleware, like `app.use(require('cors')())`
- Express 4.0 style subrouters
Get the tutorial and master Express today!
Did you find this tutorial useful? Say thanks by starring our repo on GitHub!