koa(六) koa-multer上传文件

koa-multer是一个node.js中间件,用于处理multipart/form-data类型的表单数据,主要用于上传文件。

koa-multer是基于multer这个模块。

安装

npm install --save koa-multer

配置

1
2
3
4
5
6
7
8
9
10
11
12
13
const multer = require('koa-multer');

let storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'public/upload'); //配置图片上传的目录
},
filename: function (req, file, cb) { /*图片上传完成重命名*/
var fileFormat = (file.originalname).split(".");
cb(null, Date.now() + "." + fileFormat[fileFormat.length - 1]);
}
});

let upload = multer({ storage: storage });

使用

1
2
3
4
5
6
router.post('/upload', upload.single('face'), async (ctx, next) => {
ctx.body = {
filename: ctx.req.file.filename,//返回文件名
body:ctx.req.body
}
})