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

Postman无法向Express应用发送二进制文件,请求体为空如何解决?

Express请求体为空问题及Postman二进制文件发送指南

一、req.body为空的原因及解决办法

你配置的bodyParser.raw只对image/*类型的请求进行解析,如果Postman发送请求时的Content-Type不匹配这个规则,bodyParser就不会处理请求体,自然req.body就是空的。

解决步骤:

  1. 调整bodyParser配置(二选一即可):
    • 若仅处理图片,确保Postman的Content-Type严格匹配image/*(比如image/png、image/jpeg)
    • 若要支持任意二进制文件,修改type配置覆盖更多类型:
      app.use(bodyParser.raw({ limit: '50mb', type: ['image/*', 'application/octet-stream'] }));
      
  2. Postman端正确配置请求:
    • 选择POST方法,填写接口地址/test
    • 切换到Body标签,选中binary选项,点击Select File选择要传输的文件
    • 进入Headers标签,将Content-Type设置为对应文件的MIME类型(比如图片用image/png,通用二进制用application/octet-stream)

二、Postman能不能发送二进制文件?

当然可以,具体操作步骤:

  1. 新建POST请求,填写目标接口地址
  2. 进入Body标签,选中binary选项
  3. 点击Select File,选择本地的二进制文件(图片、压缩包等都支持)
  4. 配置请求头Content-Type,确保和Express中bodyParser的type规则匹配
  5. 发送请求,此时req.body就能拿到对应的二进制数据了

补充:如果是实际的文件上传场景,更推荐使用multer中间件,它专门处理multipart/form-data类型的文件上传,比raw模式更灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 20:04:59