koa中接收前台传递的各种数据类型的方式

标签(空格分隔): koa 数据类型接收


主要介绍三种会用到的中间件,其实都是自己在开发的过程中踩过的坑

  1. 首先介绍koa-body [详情介绍 https://github.com/dlau/koa-body]
    支持三种类型的数据

    1、multipart/form-data
    2、application/x-www-urlencoded
    3、application/json
    

    使用方法

    $ npm install koa-body
    const koaBody = require('koa-body');
    app.use(koaBody());
    

    可以设置参数,配合koa-touter使用

    const router = require('koa-router')();
    const koaBody = require('koa-body')({
        multipart: true,  // 允许上传多个文件
        formidable: { 
        uploadDir: 'public/images/headImage',// 上传的文件存储的路径 
        keepExtensions: true  //  保存图片的扩展名
     }
    });
    router.post('/users', koaBody,(ctx) => {
        console.log(ctx.request.body);
        ctx.body = JSON.stringify(ctx.request.body);
      }
    );
    app.use(router.routes());
    
  2. koa-bodyParser中间件 [详情介绍 https://github.com/koajs/bodyparser]
    默认支持json form类型的数据,但是不支持form-data类型的数据 不怎么好用

  3. koa-multer中间件 [详情介绍 https://github.com/koa-modules/multer]
    不同的koa版本,支持不同的multer版本,以及在使用的方式上也有所不同,使用方式查看以上链接文档
    koa-multer仅仅支持multipart/form-data类型的数据

推荐使用第一种方式类满足需求