Multer是一个流行的文件上传中间件,它的错误可以通过监听MulterError来捕获。以下是一个示例代码:
const multer = require('multer');
const storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, 'uploads/');
},
filename: function(req, file, cb) {
cb(null, file.fieldname + '-' + Date.now());
}
});
const upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), function(req, res) {
res.send('File uploaded successfully');
});
// 捕获Multer错误
app.use(function(err, req, res, next) {
if (err instanceof multer.MulterError) {
res.status(400).json({ message: err.message });
} else {
next(err);
}
});
上述代码中,我们使用了Multer的diskStorage功能,并将上传后的文件保存在“uploads/”文件夹中。在应用程序的“/upload”路径下,我们使用upload.single('file')中间件来处理单个文件上传请求,并在成功上传文件后发送响应。如果出现Multer错误,我们在应用程序中间件中,使用res.status(400).json({ message: err.message })来返回JSON格式的错误信息。
通过这种方式,我们可以方便地捕获Multer错误并发送有用的错误信息给客户端。
下一篇:捕获Multer错误