如何使用快速上传文件?
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
我想将文件名打印到控制台,但出现错误: 当我 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