在使用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.originalname) } });
const upload = multer({ storage: storage });
app.post('/upload', upload.single('file'), function (req, res, next) { if (req.fileValidationError) { return res.status(400).json({ error: req.fileValidationError }); } if (!req.file) { return res.status(400).json({ error: 'Please select a file to upload' }); } // handle the rest of the upload process here });
在上面的示例代码中,Multer被用于上传文件。如果Multer检测到上传错误,它将在req对象上设置fileValidationError属性,并将通过调用next()函数通知中间件。因此,在路由处理程序中,我们可以检查req.fileValidationError是否存在,并在存在时返回相关错误信息。