返回
掌握nodejs+express,开启文件上传之旅
前端
2023-10-15 12:39:54
在当今数字化的世界中,文件上传功能已成为网站和应用程序不可或缺的一部分。无论是提交简历、上传图片还是共享文档,文件上传的需求无处不在。使用nodejs和express构建文件上传功能,可以轻松实现这些需求。
一、建立express项目
首先,您需要创建一个express项目。如果您还没有安装express,可以使用npm或yarn进行安装:
npm install express
然后,创建一个名为app.js的文件,并添加以下代码:
const express = require('express');
const app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.listen(3000, () => {
console.log('Server is listening on port 3000');
});
二、下载multer中间件
multer是一个流行的express中间件,可以轻松处理文件上传。使用npm或yarn安装multer:
npm install multer
三、在routes/index.js中引用multer,由于还要使用到文件操作,还要引用fs模块
在routes/index.js文件中,引用multer和fs模块,并指定文件上传目录。代码如下:
const express = require('express');
const multer = require('multer');
const fs = require('fs');
const upload = multer({ dest: 'uploads/' });
const router = express.Router();
router.post('/upload', upload.single('file'), (req, res) => {
// 文件上传成功后,返回文件的存储路径
res.json({ path: req.file.path });
});
module.exports = router;
四、单文件上传
在index.html文件中,添加以下代码以实现单文件上传:
<!DOCTYPE html>
<html>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="Upload">
</form>
</body>
</html>
五、多文件上传
要实现多文件上传,只需在multer中间件中将upload.single('file')替换为upload.array('files', 10),即可同时上传10个文件。
六、结语
通过本文,您已经学会了如何使用nodejs+express构建一个简单的文件上传功能。无论是单文件上传还是多文件上传,您都可以轻松实现。希望本文对您有所帮助!