介绍
简单封装的formidable
在koa2
的中间件。
因为今天我把我的毕设后台从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
即是 formidable
的options
源码
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(); } }
|