我正在使用https://www.npmjs.com/package/multer库,而我的node.js应用是用打字稿编写的。
我的代码中出现以下打字错误。
类型为“请求”的属性“文件”不存在。ts(2339)
public document = async (req: Request, res: Response): Promise<any> => {
const documentFile = req.file;
}
我该如何解决。该请求是快速的Request对象,但中间件将.file附加到该Request对象中。但是,由于类型请求接口最初不正确包含文件,因此它不知道
答案 0 :(得分:3)
或安装@types/multer 并查看此https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18569
答案 1 :(得分:2)
也许我们可以扩展Request
interface MulterRequest extends Request {
file: any;
}
public document = async (req: Request, res: Response): Promise<any> => {
const documentFile = (req as MulterRequest).file;
}
或者可能像这样的代码
interface MulterRequest extends Request {
file: any;
}
public document = async (req: MulterRequest , res: Response): Promise<any> => {
const documentFile = req.file;
}