Description
Connect middleware for busboy.
Requirements
Install
npm install connect-busboy
Example
var busboy = require('connect-busboy');
app.use(busboy());
app.use(function(req, res) {
if (req.busboy) {
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
});
req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {
});
req.pipe(req.busboy);
}
});
app.use(busboy({ immediate: true }));
app.use(function(req, res) {
if (req.busboy) {
req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {
});
req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {
});
}
});
app.use(busboy({
highWaterMark: 2 * 1024 * 1024,
limits: {
fileSize: 10 * 1024 * 1024
}
}));
Troubleshooting
'TypeError: Cannot call method 'on' of undefined'
If you find that req.busboy
is not defined in your code when you expect it to be, check that the following conditions are met. If they are not, req.busboy
won't be defined:
- The request method is not GET or HEAD
- The Content-Type header specifies that is "application/x-www-formurlencoded" or starts with "multipart/*"
- The Content-Length header is defined or chunked transfer encoding is in use. This criteria should be met by all well-behaved HTTP clients and is unlikely the problem.