node.js - 为什么在Node.js中使用邮递员上传文件时请求正文为空
问题描述
我正在尝试将文件从邮递员上传到 Node.js 服务器。我正在使用 multer 和 body-parse 来解析请求的正文。
用例:
- 当我在 Postman 中使用带有 raw-JSON 的 POST 请求作为 Body 时,一切正常,我可以完全按照 Postman 中提供的方式看到 req.body,并且我可以将新的键值对分配给 req.body 以便这些新的变量可以在路由中的其他中间件中使用。
- 但是,当我尝试从邮递员上传一个文件,其中表单数据作为邮递员中的正文时,我仍然可以从 req.body 中获取所提供的值。但是在 multer 中间层之后,新分配给 req.body 的值(来自中间件)显示损坏,如 req.body 变为 [Object: null prototype]。我可以确认 Multer 工作正常,但 Multer 正在破坏 req.body 数据(在路由中间件本身中创建)
请帮忙识别 req.body=[Object: null prototype] 的含义
解决方案
我遇到了类似的问题。如果你在函数中使用 console.log(req.body)。你会注意到 body 等于 [Object: null prototype] 因为 Multer 正在处理请求,因为表单是多部分的。因此,如果您使用 console.log(req) 对象,您可以找到可以检索的值,您只需执行 req.{Name_of_field} 即可获取值。
如果您需要澄清,请告诉我,我也许可以分享代码。
推荐阅读
- ms-access - 如何使用 vb.net 中的 QUERY 在 MS ACCESS 数据库中拆分用逗号分隔的字符串数据类型
- sql - 更改 DateTime 列的默认值
- css - 单击时如何从此div中删除红色边框?
- webview - Paypal 自适应支付结账页面未在移动 webview 中打开
- amazon-web-services - 配置 Terraform S3 后端时出错
- stripe-payments - Plaid + Stripe 从我的账户转移到 Plaid 认证的银行账户
- css - 我的页面没有反映我所做的任何 CSS 样式更改
- c# - 根据谁登录(基于 AD auth)锁定我的应用程序的某些功能
- windows - 尝试从 GitHub 克隆时出现权限被拒绝(公钥)错误
- c++ - 有没有办法在使用 Booth 算法的二进制乘法期间捕获溢出/下溢?