Multer句柄错误,typescript类型问题
我有以下代码:Multer句柄错误,typescript类型问题,typescript,express,multer,Typescript,Express,Multer,我有以下代码: import multer from "multer"; const upload = multer().single('file'); router.post('/add', async (req, res) => { upload(req, res, async (err: any) => { if (err) { res.status(500).send(err.toString())
import multer from "multer";
const upload = multer().single('file');
router.post('/add', async (req, res) => {
upload(req, res, async (err: any) => {
if (err) {
res.status(500).send(err.toString())
}
else {
res.status(200).send(await addMedia(req.file.filename))
}
})
});
我正在尝试确定类型,因此我想用适当的错误类型替换any
。当我尝试将其替换为MulterError
时,出现以下错误:
类型为“(err:MulterError)=>Promise”的参数不能分配给类型为“NextFunction”的参数。参数“err”和“deferToNext”的类型不兼容。类型“string”不可分配给类型“MulterError”
由于.toString()
,未知无法工作string
确实有效,但它肯定不是正确的类型,因为日志记录显示我有一个MulterError
我也不完全理解上传函数的第三个参数是什么,所以这可能是我的问题