Node.js Busboy分别解析字段和文件
Node.js Busboy parse fields and files seperatly
我想知道是否有可能让Busboy分别解析字段和文件。(我已经删除了bodyParser
,因为你可以很容易地用临时文件填充硬盘驱动器。)
例如-解析post字段的中间件(用于所有post请求)
if (req.method === 'POST') {
var form = new busboy({ headers: req.headers, limit: { files: 0 } });
form.on('field', function (fieldname, val, valTruncated, keyTruncated) {
req.params.body[fieldname] = val;
});
form.on('finish', function () {
next();
});
return req.pipe(form);
} else { next(); }
然后在上传页面上使用以下命令,它使用Busboy来获取发布的文件。
app.post('/fm/file/upload/:folder', function (req, res) {
var isFrame = helpers.toBool(req.param('frame'), false),
uploadService = fmUploadService.create(),
userId = res.locals.info.User.Id,
folder = helpers.toInt(req.param('folder', 0));
uploadService.processUploads(userId, folder, req, res, function (uploadError, allowedAccess, files) {
if (uploadError) {
if (req.xhr) {
res.status(500);
res.json(uploadError);
} else {
res.render('filemanager/file_upload.jade', { actionUrl: '/fm/file/upload/' + folder, tempData: files, isFrame: isFrame, err: uploadError });
}
return;
}
else if (req.xhr) {
res.status(200);
res.json(files);
return;
}
res.render('filemanager/file_upload.jade', { actionUrl: '/fm/file/upload/' + folder, tempData: files, isFrame: isFrame, err: null });
});
});
当前文件将始终为0,因为Busboy已经在中间件中运行。
代替
form.on('finish', function () {
next();
});`
试试
form.on('end', function () {
next();
});`
相关文章:
- 处理字段中带有换行符的csv文件-node.js
- HTML5要求隐藏文件字段-反馈位置
- jquery形成多文件输入字段Value()
- 调用JavaScript函数后,文件上载字段重置
- 通过程序从多个输入字段上传多个文件-blueimp jquery fileupload
- 有没有什么方法可以通过输入字段(type=file)来找出选择了多少个文件
- Javascript 单击html字段值而不编辑.js文件
- 如何从 json 文件中检索所有字段
- 为什么在下面的场景中,用于存储所选文件名和文件路径的隐藏输入字段没有在表单上生成
- 如何使用ian:accounts-ui-botstrap-3根据Meteor中的用户输入设置配置文件字段值
- 如何从输入字段在浏览器中显示PDF文件
- 具有输入类型文件字段的语义UI重置表单
- Chrome扩展:将下载的文件移动到输入字段
- 已从'上传文件;文件'img字段中未显示类型输入字段
- 添加选项以使用 javascript 从 json 文件中选择字段
- 验证数组文件字段的表单提交
- 如何将base64写入模型's文件字段
- 如何在jquery中清除输入文件字段
- 使用jquery验证忽略字段文件
- 如何从phonegap的html5输入字段文件对象获取路径