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

Express.js如何向其他服务上传图片?req.file为undefined问题排查

问题根因
  • 核心错误是axios请求头配置的键名写错:axios的请求配置中,请求头对应的键是小写headers,你代码中写的是大写开头的Headers,该配置会被axios直接忽略。
  • 你通过formData.getHeaders()生成的带boundary参数的multipart/form-data类型请求头没有被实际发送,axios默认使用了application/x-www-form-urlencoded作为内容类型,服务端的multer中间件无法识别该格式的文件上传请求,所以解析不到上传的文件,req.file为undefined。
  • Postman发送上传请求时会自动携带正确的multipart/form-data请求头,所以可以上传成功。
修复方法

修改/toOther路由中axios请求的配置,把大写的Headers改为小写headers即可:

try {
  let result = await axios.post(
    `http://localhost:13003/file`,
    formData,
    // 修正配置键名为小写headers
    {headers: headerHere}
  )
  res.status(200).json(result.data)
} catch (err) {
  console.log('file/toOther err', err)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:36:04