带有文件和字符串参数的HTTP POST请求到Node.js

时间:2014-05-15 07:41:56

标签: http express fiddler

我在Express.js中编写了一个POST路由:/ api / file / upload。这条路线需要两个参数才能工作 - 一个"文件"带有发布文件的参数和" apiKey"参数,这是一个字符串。为了测试它,我试图在Fiddler2中使用以下数据创建一个成功的请求:

接头:

Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468
User-Agent: Fiddler
Host: localhost:8000
Content-Length: 178037

请求正文:

---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="4Byl64P (1).jpg"
Content-Type: image/jpeg

<@INCLUDE *C:\Users\patrick\Pictures\4Byl64P (1).jpg*@>
---------------------------acebdf13572468--


---------------------------acebdf13572468
Content-Disposition: form-data; name="apiKey"
Content-Type: application/json

{
  "apiKey": "GKBG-QoNs-f74E-Z8Qn-zozm"
}
---------------------------acebdf13572468--

但是当我尝试在Node.js中记录参数时,我得到request.body的空对象和undefined的{​​{1}}。

如何使用Fiddler2成功将表格数据发布到Node.js?

1 个答案:

答案 0 :(得分:1)

你的身体畸形(过早的结束边界)。它应该看起来更像这样:

---------------------------acebdf13572468
Content-Disposition: form-data; name="apiKey"
Content-Type: application/json

{
  "apiKey": "GKBG-QoNs-f74E-Z8Qn-zozm"
}
---------------------------acebdf13572468
Content-Disposition: form-data; name="file"; filename="4Byl64P (1).jpg"
Content-Type: image/jpeg

<@INCLUDE *C:\Users\patrick\Pictures\4Byl64P (1).jpg*@>
---------------------------acebdf13572468--