multer 文件上传
1.安装
npm install --save-dev multer
2.引入multer模块
const express = require('express')
//引入multer模块
const multer = require('multer')
3.使用
//文件上传
const multer = require('multer');
let storage = multer.diskStorage({
//设置文件存储目录
destination(req, file, callback) {
callback(null,'./upload'); //传到upload文件中
},
//设置上传文件相关信息
filename(req, file, callback) {
callback(null, file.originalname);
}
});
//创建上传对象
let upload = multer({
storage: storage });
//打开上传界面
router.get("/uploadFile", (req, res) => {
ejs.renderFile("view/upload.html", (err, html) => {
if (err)
throw err;
res.send(html);
});
});
//上传的路由
//upload.single("avatar") 单文件
//upload.array("avatar",8) 走多文件上传
router.post("/profile",upload.array("avatar",8),(req,res)=>{
console.log(req.file,req.files);
res.send("上传成功");
})
module.exports = router;
上传界面:
upload.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
//enctype="multipart/form-data"必须要写
<form action="/profile" method="post" enctype="multipart/form-data">
<input type="file" multiple name="avatar" />
<button>上传</button>
</form>
</body>
</html>