req.files 不断返回 undefined

req.files keeps returning undefined

req.files 不断返回未定义。我试过 connect-multiparty、body-parser 和 express-fileupload。如何使用 express-fileupload 而不是 multer 让它工作?

这是我的前端:

<form action="/api/upload" method="post">
    <label for="imgHere">file:</label>
    <input type="file" id="imgHere" name="imgHere"><br><br>
    <input type="submit">
</form>

我已经使用 inspect element network 选项卡进行了检查,它发送的图像很好。

这是我的后端:

const express = require("express");
const app = express();
const fileUpload = require("express-fileupload")

app.use(fileUpload())

app.post('/api/upload', function(req, res) {
  console.log(req.files) // logs undefined
  res.send("uploaded.")
});

app.listen(80, function()
{
    console.log("Server loaded.")
});

我该如何解决这个问题?

您还需要指定适当的 enctype 作为表单属性,如下所示:

<form action="/api/upload" method="post" enctype="multipart/form-data">
    <label for="imgHere">file:</label>
    <input type="file" id="imgHere" name="imgHere"><br><br>
    <input type="submit">
</form>