如何使用快速上传文件?

How to use express-uploadfiles?

我想将文件名打印到控制台,但出现错误: 当我 post 我的服务器路径和文件

TypeError: Cannot read properties of undefined (reading 'file')

我的代码是:

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

// SETTINGS
app.set("port", process.env.PORT || 3000);

// MIDDLEWARES
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use((req, res, next) => {
    console.log(`${req.method} - ${req.url}`);
    next();
});

// ROUTES
app.post("/upload", (req, res) => {
    const file = req.files.file;
    console.log(file.name);
});

app.listen(app.get("port"), () => {
    console.log(`Server on port ${app.get("port")}`);
});

您没有使用 fileUpload 中间件。它是将文件添加到请求方法的中间人。

app.use(fileUpload())

在上传处理程序之前添加它,就像使用 bodyParser 中间件一样。

要上传文件,您还需要确保 html 表单使用

encType="multipart/form-data"

您可以查看文档:https://github.com/richardgirges/express-fileupload

它还有基本的代码示例:https://github.com/richardgirges/express-fileupload/tree/master/example#basic-file-upload