(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){});
- 使用12mb文件大小解压缩时出错
- 如何在NodeJS / Express / Jade中正确使用dev和prod资源
- Angular with CoffeeScript和Jade for前端,Node,Express和CoffeeScript用于后端
- 如何使用节点聊天服务器的单个瞬间作为使用该应用程序的不同组织的mutitenant?
- 在Express.js中使用路由作为别的路由的别名
- 如何在hogan-express模板引擎中传递数组
- 获取Sequelize Promise的内容而不执行它
- 使用Express.js将HTTPSredirect到HTTP
- 如何在Node ExpressJS中返回获取请求中的随机数据?