(Express js 4 Multer)在file upload前检查表单域(如果为空)

我要检查表单域是否为空,如果在上传文件之前更改了名称,但是首先上传文件,然后req.body被填充。 我正在使用MULTER作为中间件。

Upload.js

checkField: function(req, res, next) { //Here i want to check if req.body.field1, field2 are empty or not //If empty res.send('Required fields are empty'); console.log(req.body); //This returns empty {} }, module.exports = { uploadFile: multer({ limits: { files: 1 }, dest: '/upload/', }) }; 

路由器:

 app.post('/upload', upload.checkField, upload.uploadFile, function(req, res){}); 

如果您的目标是检查请求中发送的内容,则中间件顺序是错误的。 在parsing之前,您无法查看parsing的请求主体。 试试这个命令:

 app.post('/upload', upload.uploadFile, upload.checkField, function(req, res){});