如何使用快速上传文件?

Posted

技术标签:

【中文标题】如何使用快速上传文件?【英文标题】:How to use express-uploadfiles? 【发布时间】:2022-01-19 16:43:49 【问题描述】:

我想将文件名打印到控制台,但它给了我一个错误: 当我用文件发布我的服务器的路径时

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")`);
);

【问题讨论】:

【参考方案1】:

您没有使用 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

【讨论】:

不行 我的实际代码pastebin.com/8wMMm0g9 我的 html 代码:pastebin.com/APv2k1ix 编辑了答案,您的 html 中缺少 multipart/form-data。

以上是关于如何使用快速上传文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用git快速上传项目到GitHub

Python:如何快速上传到 Google BigQuery?

如何在 Windows 使用 FTP 上传文件到 Linux 服务器上

如何在FTP上实现文件的上传和下载

如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作

如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作