Nodejs基础、Nodejs打在一个类似Express的框架、MongoDb的基础、Nodejs操作Mongodb、Koa2入门实战。从0到1学会Nodejs入门教程
Koajs入门视频教程在线学习地址:https://www.bilibili.com/video/BV1xm4y1c7zr/?p=1
Koajs入门视频教程网盘下载地址:https://pan.baidu.com/s/1QN_XkXRXmIw6V7HevntBQQ 提取码:abcd
Koa2中上传图片其实有很多模块,下面给大家介绍的一个koa-multer上传图片的模块
koa-multer是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据,它主要用于上传文件。它是写在 busboy 之上非常高效。
注意: Multer 不会处理任何非 multipart/form-data 类型的表单数据,意思就是我们要上传图片必须在form表单上面加 multipart/form-data
1.安装Koa2 的koa-multer :
npm install --save @koa/multer multer
2.引入配置koa-multer模块 :
const multer = require('koa-multer'); //配置 var storage = multer.diskStorage({ //文件保存路径 destination: function (req, file, cb) { cb(null, 'public/uploads/') //注意路径必须存在 }, //修改文件名称 filename: function (req, file, cb) { var fileFormat = (file.originalname).split("."); cb(null,Date.now() + "." + fileFormat[fileFormat.length - 1]); } }) //加载配置 var upload = multer({ storage: storage })
3.使用koa-multer
router.post('/doAdd', upload.single('face'), async (ctx, next) => { ctx.body = { filename: ctx.req.file.filename,//返回文件名 body:ctx.req.body } });
4.使用koa-multer 上传多个图片
前台表单:后台: router.post('/doAdd', upload.fields([{ name: 'pic', maxCount: 1 }, { name: 'aaa', maxCount: 1 }]),async (ctx)=>{ console.log(ctx.req.files); })
5.注意:Form表单加上enctype="multipart/form-data"