使用POSTMAN发布“form-data”时bodyParser不起作用

时间:2015-10-21 09:08:23

标签: node.js express urlencode form-data body-parser

HTTP预览:

POST /kflq_webcfg/v1/update HTTP/1.1
Host: h.innmall.cn
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="data"

{"orderInnerId":"12146","p":{"imei":"866568022978356","mac":"58:1f:28:ea:4d:e1","os":"android4.4.2","platform":"Android","ptype":"H60-L01_19_4.4.2","version":"6.1.1"},"type":1}
----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="mode"

plain
----WebKitFormBoundaryE19zNvXGzXaLvS5C

但是可以解析x-www-form-urlencode:

POST /kflq_webcfg/v1/update HTTP/1.1
Host: h.innmall.cn
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

data={"orderInnerId":"12146","p":{"imei":"866568022978356","mac":"58:1f:28:ea:4d:e1","os":"android4.4.2","platform":"Android","ptype":"H60-L01_19_4.4.2","version":"6.1.1"},"type":1}&mode=plain

如何通过body-parser中间件解决这个问题?

我需要这两种情况才能得到相同的结果。

非常感谢你!

1 个答案:

答案 0 :(得分:1)

正文解析器无法处理多部分正文,您应该使用multer之类的东西。除了处理文件上传外,multer还将多部分数据的文本字段解析为req.body。 Body-parser docs也给出了很好的解释。