Package Exports
- express-formidable
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (express-formidable) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
express-formidable 
An Express middleware of Formidable that just works.
What are Express, Formidable, and this?
Express is a fast, unopinionated, minimalist web framework for Node.js.
Formidable is a Node.js module
for parsing form data, including multipart/form-data
file upload.
So, express-formidable
is something like a bridge between them,
specifically an Express middleware implementation of Formidable.
It aims to just work.
Install
npm install express-formidable
How to use
const express = require('express');
const formidableMiddleware = require('express-formidable');
var app = express();
app.use(formidableMiddleware());
app.post('/upload', (req, res) => {
req.fields; // contains non-file fields
req.files; // contains files
});
And that's it.
express-formidable can basically parse form types Formidable can handle,
including application/x-www-form-urlencoded
, application/json
, and
multipart/form-data
.
Option
app.use(formidableMiddleware(opts));
opts
are options which can be set to form
in Formidable. For example:
app.use(formidableMiddleware({
encoding: 'utf-8',
uploadDir: '/my/dir',
multiples: true, // req.files to be arrays of files
});
For the detail, please refer to the Formidable API.
Events
app.use(formidableMiddleware(opts, events));
events
is an array of json with two field:
Field | Description |
---|---|
event |
The event emitted by the form of formidable. A complete list of all the possible events, please refer to the Formidable Events |
action |
The callback to execute. The signature is function (req, res, next, ...formidable_parameters) |
For example:
const events = [
{
event: 'fileBegin',
action: function (req, res, next, name, file) { /* your callback */ }
},
{
event: 'field',
action: function (req, res, next, name, value) { /* your callback */ }
}
];
Error event
Unless an error
event are provided by the events
array parameter, it will handle by the standard next(error)
.
Contribute
git clone https://github.com/noraesae/express-formidable.git
cd express-formidable
npm install
To lint and test:
npm test