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

我也不完全理解上传函数的第三个参数是什么,所以这可能是我的问题