手柄multer.single(“文件”)错误时上传多个文件
我跟着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?
}
})
回答如下:
当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 });
});