美文网首页
Express中间件,bodyparser,multer,for

Express中间件,bodyparser,multer,for

作者: le_1 | 来源:发表于2017-04-25 10:52 被阅读2322次

    Express 用于处理请求体的中间件很多,除了标题中提到的三个,还有multiparty、busboy等,multiparty性能上不如busboy,而multer是busboy的顶层封装,效率又提升了一个档次。

    常见Content-Type类型有四种:
    1. application/x-www-form-urlencoded 常见的form提交
    2. multipart/form-data 文件提交
    3. application/json 提交json格式的数据
    4. text/xml 提交xml格式的数据
    Bodyparser中间件

    这个中间件用于处理第1,3种content-type 的body非常的方便,但不能用于处理multipart类型的body,具体api可见GitHub,提供了四种方法

    1. bodyParser.json() 将body解析为json
    2. bodyParser.text() 将body解析为文本
    3. bodyParser.raw() 将body解析为二进制
    4. bodyParser.urlencoded() 将编码为URLEncoder的body解析出来
    Multer 中间件

    只处理类型是multipart/form-data的body。
    它的主要功能是: .single('photo') .array('photos', 12) .fields([])分别对应处理上传文件,批量上传和分类上传,同时也带有处理纯文字的功能,用上面三个方法不带参数即可。

    Formidable 中间件

    Formidable它的主页上的特性描述看起来很屌的样子,在express中我们用express-formidable ,可用于处理表单和上传文件,功能大而全,可配置项非常多,最大的区别是还提供了一个对象,用于处理各种事件。

    var form = new formidable.IncomingForm()
    form.on('fileBegin', function(name, file) {
    });
    .on('file', function(name, file) {
    });
    .on('error', function(err) {
    });
    

    在实际开发中,很明显可以用bodyparser和multer来分别处理表单和文件,也可以只用formidable,按需取用即可。

    相关文章

      网友评论

          本文标题:Express中间件,bodyparser,multer,for

          本文链接:https://www.haomeiwen.com/subject/yvwmzttx.html