我关注了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?
}
})
答案 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 });
});