我正在尝试保存使用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));
我想念什么吗?