【发布时间】:2021-03-04 20:47:09
【问题描述】:
我有以下代码:
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' 的类型不兼容。类型“字符串”不可分配给类型“MulterError”。
unknown 因.toString() 而不起作用。 string 确实有效,但它绝对不是正确的类型,因为记录它表明我有一个 MulterError。
我也不完全理解 upload 函数的第三个参数是什么 - 所以这可能是我的问题。
【问题讨论】:
标签: typescript express multer