在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的新手,所以任何帮助/建议将不胜感激。 谢谢。