Node.js如何分隔多个“多部分数据” POST请求

时间:2019-05-06 05:59:25

标签: node.js file-upload multipartform-data

在Nodejs中,我开发了一个小型的Client应用程序,该应用程序使用POST请求将多个“ multipart / form-data”发送到我的Server应用程序。 每个要发送的表单都由一个文件(从客户端硬盘加载)和一个字符串信息组成。基本上我有以下情况:

表格1 :(文件1,字符串1) 表格2 :(文件2,字符串2) 表格3 :(文件3,字符串3) 等等。

要发出POST请求,我使用的是“表单数据”库(https://www.npmjs.com/package/form-data)。 我面临的问题是所有POST请求都是在执行客户端应用程序后发送的,但是我希望能够分别发送每个POST请求。

这是我正在使用的代码的一部分:

function FormSubmit(item)
{
     var FileStream = fs.createReadStream(item.path);                

     // Create an "Upload" Form and set all form parameters.
     let form = new FormData();             

     form.append('Text1', 'test');
     form.append('file', FileStream);     

     // Form Submit.
     form.submit('http://localhost:5000/upload', function(err, res) {
          if (err) {
               console.log(err);
          }
          if (res!= undefined)
               res.resume();
          else
               console.log('Res undefined: ', res);
     });
}

我多次调用“ FormSubmit”函数,并且希望执行命令“ form.submit”后每次都在服务器应用程序上收到POST请求,但实际上我一起收到了POST请求在整个应用程序执行完成之后。 特别是,服务器在核心模块的“ net.js”文件中的“ afterConnect”函数内的命令“ self.emit('connect');”上接收请求。

似乎与时间无关,因为即使我在首次执行“ FormSubmit”函数后放置了一个断点并等待了几分钟,我仍未在Server应用程序上收到任何消息。 可能与“表单数据”库无关,因为我使用“请求”等得到相同的行为。 我想这与NodeJs本身或我编写客户端应用程序的方式有关。

我是NodeJ的新手,所以任何帮助/建议将不胜感激。 谢谢。

0 个答案:

没有答案