Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在Node.js中用postman上传文件时请求正文为空_Node.js_Http_Postman_Multer_Body Parser - Fatal编程技术网

为什么在Node.js中用postman上传文件时请求正文为空

为什么在Node.js中用postman上传文件时请求正文为空,node.js,http,postman,multer,body-parser,Node.js,Http,Postman,Multer,Body Parser,我正在尝试将文件从postman上载到Node.js服务器。我使用multer和body解析来解析请求的主体 用例: 当我在Postman中使用带有原始JSON的POST请求作为主体时,所有 工作正常,我可以完全按照邮递员中提供的方式查看req.body,还可以为req.body分配新的键值对,以便这些新变量可以在路由中的其他中间件中使用 但是,当我尝试从postman上传一个文件,其中表单数据作为postman中的Body时,仍然可以从req.Body中获得所提供的值。但是在multer中间层

我正在尝试将文件从postman上载到Node.js服务器。我使用multer和body解析来解析请求的主体

用例:

  • 当我在Postman中使用带有原始JSON的POST请求作为主体时,所有 工作正常,我可以完全按照邮递员中提供的方式查看req.body,还可以为req.body分配新的键值对,以便这些新变量可以在路由中的其他中间件中使用
  • 但是,当我尝试从postman上传一个文件,其中表单数据作为postman中的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正在处理请求,因为表单是multipart。因此,如果您使用console.log(req)对象,您可以找到可以检索的值,只需执行req.{Name_of_field}即可获取值


    如果您需要澄清,请让我知道,我可能可以分享代码。

    我遇到了类似的问题。如果在函数中使用console.log(req.body)。您会注意到body等于[Object:null-prototype],因为Multer正在处理请求,因为表单是multipart。因此,如果您使用console.log(req)对象,您可以找到可以检索的值,只需执行req.{Name_of_field}即可获取值


    如果您需要澄清,请让我知道,我可能可以分享代码。

    Shivam Mahajan写得差不多,但是:


    您可以访问文本字段,而不是
    req.{Name\u of_field}
    ,而是
    req.body.{Name\u of_field}
    ,如中所述。

    Shivam Mahajan写得差不多,但是:


    您可以访问文本字段,而不是
    req.{Name\u of_field}
    ,而是
    req.body.{Name\u of_field}
    ,如中所述。

    发布multer的一些代码,并指定接收错误的位置。另外,确保不发送任何标题,就像未选中内容类型一样。知道
    body parser
    不会解析
    req.body
    ,因为您将所有数据作为
    multitart/form data
    发送,而
    multer
    会处理这些数据。当您在网页中提交文件上传表单时,它会起作用吗?你能在邮递员配置上附加一些屏幕截图吗?发布你的Mutter的一些代码,并指定你收到错误的地方。另外,确保不发送任何标题,就像未选中内容类型一样。知道
    body parser
    不会解析
    req.body
    ,因为您将所有数据作为
    multitart/form data
    发送,而
    multer
    会处理这些数据。当您在网页中提交文件上传表单时,它会起作用吗?你能在邮递员配置上附上一些截图吗?