将 multer 与打字稿一起使用:属性 'file' 在类型 'Request'.ts(2339) 上不存在
uisng multer with typescript: Property 'file' does not exist on type 'Request'.ts(2339)
我正在使用 https://www.npmjs.com/package/multer 库,我的 node.js 应用是用打字稿编写的。
我的代码中出现以下打字稿错误。
Property 'file' does not exist on type 'Request'.ts(2339)
public document = async (req: Request, res: Response): Promise<any> => {
const documentFile = req.file;
}
我该如何解决这个问题。 req 是明确的 Request 对象,但 multers 中间件将 .file 附加到此请求对象中。但是它不知道这一点,因为类型请求接口最初没有正确包含文件
也许我们可以扩展请求
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;
}
或安装@types/multer并检查这个https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18569
我正在使用 https://www.npmjs.com/package/multer 库,我的 node.js 应用是用打字稿编写的。
我的代码中出现以下打字稿错误。
Property 'file' does not exist on type 'Request'.ts(2339)
public document = async (req: Request, res: Response): Promise<any> => {
const documentFile = req.file;
}
我该如何解决这个问题。 req 是明确的 Request 对象,但 multers 中间件将 .file 附加到此请求对象中。但是它不知道这一点,因为类型请求接口最初没有正确包含文件
也许我们可以扩展请求
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;
}
或安装@types/multer并检查这个https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18569