Multer бросает неожиданный конец данных формы - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь сохранить звуковой файл, который я загружаю, используя multer.Когда я отправляю запрос через curl следующим образом:

curl -v -H 'Content-Type:multipart/form-data' -F sndfile="@/path/to/outfile.wav" http://192.168.X.X:4201/sndFile

, он работает нормально.Файл загружен.Когда я отправляю следующее через request-promise, я получаю Unexpected end of multipart data.

Вот мой код для обработчика загрузки:

app.post('/sndFile', upload.single('sndfile'), (req, res, nxt) => {
  const snd = req.file.buffer;
  console.log(snd);
  //const buff = Buffer.from(toArrayBuffer(snd));
  //console.log(buff);
  //const body = req.body;
  //console.dir(snd);
  fs.writeFileSync(`test.wav`, snd, { flag: 'w' });
  res.status(200)
    .json({
        status: 200,
        message: 'Sound File Uploaded'
    });
});

Вот как я использую request-promise:

const opts = {
   url: 'http://192.168.X.X:4201/sndFile',
   method: 'POST',
   formData: { 'sndfile':fs.createReadStream('/path/to/outfile.wav',{encoding: 'binary'}) }
};
rp(opts).then(r => console.dir(r)).catch(e => console.error(e));

Я что-то упустил?

...