NodeJS Express在POST请求中接收空的FormData

iqjalb3h  于 2023-08-04  发布在  Node.js
关注(0)|答案(1)|浏览(242)

我试图发送一个POST请求到我的express.js后端,其中包括一个文件名和一个文件。我的JavaScript前端看起来如下所示

const file = fileUpload.files[0];
const formData = new FormData();
formData.append('filename', 'myFile');
formData.append('file', file);
await fetch('http://localhost:8500/upload', {
    method: 'POST',
    body: formData
}

字符串
我的express后端看起来像

app.post('/upload', (req, res) => {
    const formData = req.body;
    console.log(formData);
    console.log(formData.title);
}


它给出的结果

{}
undefined


为什么我得到一个空的请求体?

zazmityj

zazmityj1#

这是因为express不知道如何开箱即用地解析multipart/form-data。要做到这一点,你需要安装multer parser,它在你的请求中充当中间件,允许你通过request.body访问你的文件。
这里有一个article,它解释了如何用不同的例子和用例来做,我相信你会找到适合你的。

相关问题