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

Express MVC项目POST请求/api/device返回404、req.body空、req.files未定义

问题原因

你遇到的req.body为空、req.files为undefined的问题,根源是请求格式和Express解析中间件不匹配:
express.json()中间件仅支持解析Content-Type: application/json格式的请求体,这类格式无法传输文件资源。而你调用的创建设备接口需要同时传文本参数和图片文件,必须用multipart/form-data格式发起请求,默认的json解析中间件无法处理这类请求。

解决步骤

  1. 调整Postman请求配置
    打开POST请求的「Body」标签页,选择格式为form-data,不要使用raw、x-www-form-urlencoded格式
  2. 填写表单字段
  • 文本类字段:按参数名依次填写name、price、brandId、typeId、info的对应值
  • 图片字段:点击img字段的类型下拉框,把默认的「Text」改成「File」,然后选择本地要上传的图片
  1. 可选:补充urlencoded解析中间件
    如果后续有需要处理普通表单提交的场景,可以在index.js中app.use(express.json())后面添加一行代码,支持解析表单格式的请求体:
app.use(express.urlencoded({ extended: true }))

额外注意

你代码里有个拼写小坑:index.js中引入错误处理中间件的路径写的是./milddleware/ErrorHandlingMiddleware,多了一个字母d,正确拼写应为middleware,后续用到该中间件时需要修正。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:54:05