我试图发送一个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
型
为什么我得到一个空的请求体?
1条答案
按热度按时间zazmityj1#
这是因为express不知道如何开箱即用地解析
multipart/form-data
。要做到这一点,你需要安装multer parser,它在你的请求中充当中间件,允许你通过request.body
访问你的文件。这里有一个article,它解释了如何用不同的例子和用例来做,我相信你会找到适合你的。