NestJS文件上传报错:Type<NestInterceptor>无法赋值给NestInterceptor|Function
NestJS FileInterceptor 类型错误解决方案
这个红线错误的核心原因是:FileInterceptor是拦截器工厂函数,不是直接的拦截器类,你直接将类本身传给@UseInterceptors装饰器,而装饰器要求传入的是拦截器实例或可返回实例的函数,类型不匹配导致报错。
解决步骤:
- 调用
FileInterceptor时必须传入上传文件对应的字段名(比如前端表单里的文件字段叫file),生成实际的拦截器实例后再传给装饰器。 - 示例修正代码:
// 错误写法(直接传类) @UseInterceptors(FileInterceptor) // 正确写法(调用工厂函数生成实例) @UseInterceptors(FileInterceptor('file'))
确认你导入的FileInterceptor确实来自@nestjs/platform-express,导入语句没问题的话,按上述方式调用工厂函数即可解决类型错误。
内容的提问来源于stack exchange,提问作者97_HYUN
相关产品推荐
相关产品推荐

