vee-formidable
v1.0.12
Published
Formidable library ExpressJS middleware wrapper.
Downloads
7
Readme
vee-formidable
This is a simple ExpressJS middleware which wraps 'formidable' IncommingForm
.
It is written in TypeScript, declaration file is available by default.
API
This package exports a single object with a single field makeMiddleware
containing a function described bellow.
makeMiddleware(options?: FormidableOptions)
Accepts one optional argument of type FormidableOptions
, which is Object.assign
ed to the wrapped formidable.IncommingForm
. See formidable API for an up-to-date reference about available options.
After applying this middleware, you can utilize req.fields
as an object, with each key being the name of the form input and its corresponding value containing input's data, which is of type string | string[]
.
All files sent by the form are stored in a directory specified as uploadDir
option, which is os.tmpdir()
by default.
Information about forwarded files is available at req.files
.
It is an object mapping input's names to formidable.File | formidable.File[]
(see
'@types/formidable' declaration file for precise info).
TypeScript example
import * as express from 'express';
import * as formParser from 'vee-formidable';
const app = express();
app.use(formParser.makeMiddleware({
uploadDir: 'data/form-files'
}));
app.post('/entity/new', (req, res, next) => {
console.log(
`Form fields: ${req.fields}`,
`Form files: ${req.files}`
);
});
JavaScript example
const express = require('express');
const formParser = require('vee-formidable');
const app = express();
app.use(formParser.makeMiddleware({
uploadDir: 'data/form-files'
}));
app.post('/entity/new', (req, res, next) => {
console.log(
`Form fields: ${req.fields}`,
`Form files: ${req.files}`
);
});
Credits
This middleware is a problem fixed and rewritten to TypeScript 'express-formidable' npm package.
Type declaration file is based on '@types/express-formidable' npm package.