【问题标题】:(Express js 4 Multer) check form fields (if empty) before file upload(Express js 4 Multer)在文件上传之前检查表单字段(如果为空)
【发布时间】:2015-03-23 04:10:18
【问题描述】:

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

上传.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){});

【问题讨论】:

    标签: node.js express multer


    【解决方案1】:

    如果您的目标是检查请求中发送的内容,则中间件顺序错误。在解析之前,您无法查看已解析的请求正文。试试这个顺序:

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

    【讨论】:

    • 但是这样会先上传文件。如果未填写必填字段,我应该删除文件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2022-01-10
    • 2018-06-18
    • 2020-05-21
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多