介绍
简单封装的formidable在koa2的中间件。
因为今天我把我的毕设后台从koa1升级到koa2了,全面使用async函数,所以之前用的koa-formidable就不合适了,索性就自己封装下。
#body-parser
1 | $ npm install body-parser |
1 | var bodyPaeser =require('body-parser') |
body-parser 对象创建中间件,当接收到客户端请求时所有的中间件都会给req.body 添加属性,请求体为空,则解析为空{} (或者出现错误)。json ,允许请求提任意Unicode编码支持 gzip 和 deflate 编码。bytes库 转换为字节大小。JSON.parse 能接受的。type 选项用来决定中间件要解析媒体类型。选项可以是一个函数或者是字符串。当为字符串时,可以直接通过type-is 库直接传递给选项,字符串也可以为一个扩展名(例如json)、mime 类型(application/json、/ 、*/json)。当为函数时:默认为application/json。gzip deflate 压缩。gzip deflate 压缩。urlencoded 请求体,并返回,只支持UTF-8编号文本,支持gzip deflate 压缩。1 | $ npm install formidable |
1 | var formidable=require("formidable"); |
encoding 设置字符集 默认UTF-8
uploadDir 默认文件上传缓存位置 默认为OS_TEMP位置
type 选择接受是multipart还是urlencoded的Content-Type请求头 默认全部
maxFieldSize 限制文件大小 默认 2mb 单位 字节
maxDields 限制header Format长度 默认为1000 为0则不限制
multiples 一次上传多个文件 默认为false 需要在input标签设置HTML5属性 multiple
hash
bytesReceived 目前接收到的字节数。
bytesExpected 预定总大小 字节
parse(req,[cb])
HttpIncomingMeassage对象image/gif之类form.on('event',function(){})demo.html
1 | <form action="post" enctype="multipart/form-data" method="post"> |
app.js
1 | var http = require("http"); |
1 | $ node app.js |
Update your browser to view this website correctly. Update my browser now