Multer引发表单数据意外结束

时间:2019-05-14 06:42:48

标签: multipartform-data multer request-promise

我正在尝试保存使用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));

我想念什么吗?

0 个答案:

没有答案