Busboy: Node.js 流式 HTML 表单解析器
Busboy 是一个 Node.js 模块,用于解析传入的 HTML 表单数据,需要 v4.5.0 或更高版本的 Node.js。
安装:
npm install busboy
使用示例 (解析多部分表单数据):
const http = require('http');
const inspect = require('util').inspect;
const Busboy = require('busboy');
http.createServer((req, res) => {
if (req.method === 'POST') {
const busboy = new Busboy({ headers: req.headers });
busboy.on('file', (fieldname, file, filename, encoding, mimetype) => {
console.log('File [' + fieldname + ']: filename: ' + filename + ', encoding: ' + encoding + ', mimetype: ' + mimetype);
file.on('data', (data) => {
console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
});
file.on('end', () => {
console.log('File [' + fieldname + '] Finished');
});
});
busboy.on('field', (fieldname, val, fieldnameTruncated, valTruncated, encoding, mimetype) => {
console.log('Field [' + fieldname + ']: value: ' + inspect(val));
});
busboy.on('finish', () => {
console.log('Done parsing form!');
res.writeHead(303, { Connection: 'close', Location: '/' });
res.end();
});
req.pipe(busboy);
} else {
res.writeHead(404);
res.end();
}
}).listen(8000, () => {
console.log('Server listening on http://127.0.0.1:8000/');
});
210.35KB
文件大小:
评论区