Узлы, как разделить несколько запросов POST "multipartform-data" - PullRequest
0 голосов
/ 06 мая 2019

В Nodejs я разработал небольшое клиентское приложение, которое отправляет несколько «multipart / form-data» в мое серверное приложение, используя POST-запросы.Каждая отправляемая форма состоит из файла (загруженного с клиентского жесткого диска) и строковой информации.В основном у меня следующая ситуация:

Форма 1: (Файл 1, строка 1) Форма 2: (Файл 2, строка 2) Форма 3: (Файл 3, строка 3) И т. Д.

Для выполнения запросов POST я использую библиотеку «form-data» (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» несколько раз, и я ожидал получать запрос POST на приложение сервера каждый раз после выполнения команды «form.submit », но на самом деле я получаю запросы POST все вместе после завершения всего приложения.В частности, Сервер получает запросы по команде «self.emit (« connect »);» внутри функции «afterConnect» в файле «net.js» в основном модуле.

Похоже, что онне имеет ничего общего с таймингами, потому что даже если я поставлю точку останова и подожду несколько минут после первого выполнения функции "FormSubmit", я ничего не получу в приложении сервера.Возможно, это не то, что связано с библиотекой «form-data», потому что я получаю то же поведение, используя «запрос» и т. Д. Я думаю, это что-то, связанное с самими NodeJ или с тем, как я написал клиентское приложение.

Я новичок в NodeJ, поэтому любая помощь / совет будут оценены.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...