Я пытаюсь сохранить звуковой файл, который я загружаю, используя 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));
Я что-то упустил?