express-formidable-reacteur v1.0.2
express-formidable-reacteur
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-reacteurHow to use
const express = require("express");
const formidableMiddleware = require("express-formidable-reacteur");
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/utatti/express-formidable.git
cd express-formidable
npm installTo lint and test:
npm test