You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NestJS文件上传接口抛出unexpected field error错误排查

NestJS文件上传接口unexpected field错误排查

这个错误是Multer解析上传请求时抛出的,核心原因是请求携带的文件字段和FileInterceptor声明的接收规则不匹配,你的接口代码本身没有语法问题:

@Post('upload')
@UseInterceptors(FileInterceptor('file'))
uploadFile(@UploadedFile() file: Express.Multer.File) {
  console.log(file);
}

按以下顺序核对Postman配置即可解决:

  • 确认请求格式:在Postman的Body标签页选择form-data,不要选x-www-form-urlencoded、raw等其他格式,不要手动修改请求头里的Content-Type,Postman会自动填充multipart格式所需的boundary参数,手动修改会导致解析失败。
  • 核对字段名:文件上传项的Key值必须严格填写file,大小写完全一致,不能写成files、upload、image等其他自定义名称,Multer对字段名是精确匹配。
  • 核对字段类型:Key输入框最右侧的下拉选项默认是Text,必须手动切换为File类型,再在Value列选择本地待上传的文件,类型不匹配会导致Multer无法识别文件字段。
  • 清理多余字段:当前用的FileInterceptor仅接收file这一个文件字段,不要在form-data里额外添加其他未声明的文件字段,多余的文件字段会直接触发该错误。

如果后续需要支持多文件上传、多字段文件上传,替换为对应拦截器即可:

  • 同字段多文件上传用FilesInterceptor('字段名', 最大数量)
  • 多字段分别传文件用FileFieldsInterceptor([{ name: '字段1', maxCount: 1 }, { name: '字段2', maxCount: 1 }])

内容的提问来源于stack exchange,提问作者Shruti sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 09:21:42