当前位置: 首页 > 后端技术 > Node.js

express结合multer实现文件上传功能

时间:2023-04-03 12:53:40 Node.js

单个文件上传:标题:

图片:

描述:

//nav.js在文件中constexpress=require('express')consttools=require('../../model/tools')router.post('/doAdd',tools.multer().single('pic'),(req,res)=>{//获取表单传过来的数据res.send({body:req.body,file:req.file})})//tools.jstoolconstmulter=require('multer')constpath=require('path')constsd=require('silly-datetime')constmkdirp=require('mkdirp')lettools={/*包镜像上传*/multer(){varstorage=多。diskStorage({//配置上传目录destination:async(req,file,cb)=>{//1.获取当前日期20200703letday=sd.format(newDate(),'YYYYMMDD')//static/upload/20200703letdir=path.join('static/upload',day)//2.根据日期生成图片存放目录awaitmkdirp(dir)//mkdirp是一个异步方法cb(null,dir)},//修改上传的文件名filename:function(req,file,cb){//获取上传文件后缀letextname=path.extname(file.originalname)cb(null,Date.now()+extname)}})varupload=multer({storage:storage})returnupload},md5(){}}module.exports=tools多文件上传://user.js多文件上传constexpress=require('express')consttools=require('../../model/tools')varrouter=express.Router()router.get('/',(req,res)=>{res.send('userlist')})router.get('/add',(req,res)=>{res.render('admin/user/add')})//多文件上传letcpUpload=tools.multer().fields([{name:'pic1',maxCount:1},{name:'pic2',maxCount:1}])router.post('/doAdd',cpUpload,(req,res)=>{res.send({正文:req.body,文件:req.files})})module.exports=router