上传多个文件时处理multer.single('file')错误

时间:2019-02-08 01:59:01

标签: javascript node.js multer

我关注了Multer code

app.post('/profile', upload.single('avatar'), function (req, res, next) {

})

应上传一个文件。但是,如果尝试上传多个文件,如何捕获错误MulterError: Unexpected field

我在下面尝试没有成功:

app.post('/profile', upload.single('avatar'), function (req, res, next) {
    try {

    } catch (error) {
    // Why cannot catch any error?
    }
})

1 个答案:

答案 0 :(得分:0)

upload.single执行next()时,只有它来了,

app.post('/profile', upload.single('avatar'), function (req, res, next) {
    try {

    } catch (error) {
        // It catches only errors from above `try block`
    }
});

如果upload.single遇到任何错误,它不会调用next(),而是会传递给下一个列表器。要捕获upload.single的任何错误,必须在app.post(/profile)上方添加此错误。

app.use(function (err, req, res, next) {
    var error = err.message;
    res.status(500);
    res.send({ "error": error });
});