express中间件multer的使用

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>

おすすめ

転載: blog.csdn.net/weixin_47863547/article/details/119521326