返回

掌握nodejs+express,开启文件上传之旅

前端

在当今数字化的世界中,文件上传功能已成为网站和应用程序不可或缺的一部分。无论是提交简历、上传图片还是共享文档,文件上传的需求无处不在。使用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构建一个简单的文件上传功能。无论是单文件上传还是多文件上传,您都可以轻松实现。希望本文对您有所帮助!