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

Nest.JS搭配multer接收React发送的FormData文件时返回undefined

解决方案

你的问题核心出在axios请求中手动指定了固定的boundary请求头,直接按以下步骤修改即可:

  1. 移除axios请求中手动配置的Content-Type头
    当你传入FormData类型的请求体时,axios会自动设置multipart/form-data类型的Content-Type,并且自动生成匹配请求体结构的boundary值,不需要手动声明。手动指定固定boundary会导致服务端multer无法正确识别表单字段分隔符,最终解析结果为undefined。
    修改后的请求代码如下:
await axios.post(url, formData);
  1. 确认前端获取的文件对象有效
    在构造FormData前加校验,确保你拿到的file不是空值:
const file = event.target.files?.item(0);
// 确认此处能正确输出文件对象,不存在则终止后续逻辑
if (!file) return;
const formData = new FormData();
formData.append('excel', file);
  1. 校验NestJS全局中间件配置
    如果你在NestJS中配置了全局的express.json()或express.urlencoded()中间件,要确保上传接口没有被这些中间件解析,这类中间件无法处理multipart/form-data格式的请求,会干扰multer的正常工作。

内容的提问来源于stack exchange,提问作者Игор Ташевски

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:00:02