介绍

简单封装的formidablekoa2的中间件。
因为今天我把我的毕设后台从koa1升级到koa2了,全面使用async函数,所以之前用的
koa-formidable就不合适了,索性就自己封装下。

使用

1
npm install koa-formidable --save
1
2
3
4
var formidable=require('koa2-formidable')
var Koa = require('koa')
var app =new Koa()
app.use(formidable(opt));

其中opt即是 formidableoptions

源码

koa2-formidable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var formidable = require('formidable')
module.exports=function (opt) {
return async function(ctx,next){
var form=new formidable.IncomingForm();
for(let key in opt){
form[key]=opt;
}
await new Promise((reslove,reject)=>{
form.parse(ctx.req,(err,fields,files)=>{
if(err){
reject(err);
}else{
ctx.request.body=fields;
ctx.request.files=files;
reslove();
}
});
});
await next();
}
}