无法使用 express-fileupload 接收请求中的文件

Unable to receive files in request using express-fileupload

我使用 REST 客户端来测试我的应用程序(Insomnia 和 postman)。我的应用实际上什么都不做:

const express = require('express');
const app = express();
const fileUpload = require('express-fileupload');
app.use(express.json())
app.use(fileUpload());
app.post('/', fileUpload(), function(req, res) {
    console.log(req.files)
    res.send('a')
});
const PORT =  9999;
app.listen(PORT, () => {
  console.log(`Server listening on port ${PORT}...`);
});

每当我尝试将文件上传到此服务时 req.files 未定义。我从快速文档页面和一些 Whosebug 问题中获取了这段代码,但它对我不起作用。 Content-length 不错(40k 好像还行)

Content-type 由我的 REST 客户端自动设置。我必须改变这个吗? 我尝试简单地打印整个请求对象并且 body 是空的并且 files 甚至不存在

只需做一件事:从 post 端点删除文件 fileUpload() 并检查,找到以下代码供您参考。

app.post('/', function(req, res) {
    console.log(req.files)
    res.send('a')
});

所以对于任何想知道的人。 fileupload 需要 form-data Content-type。而且,它还要求文件在这个form-data中有一个“密钥”。很遗憾文档没有提到这一点。