koa中接收前台传递的各种数据类型的方式
标签(空格分隔): koa 数据类型接收
主要介绍三种会用到的中间件,其实都是自己在开发的过程中踩过的坑
-
首先介绍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());
-
koa-bodyParser中间件 [详情介绍 https://github.com/koajs/bodyparser]
默认支持json form类型的数据,但是不支持form-data类型的数据 不怎么好用 -
koa-multer中间件 [详情介绍 https://github.com/koa-modules/multer]
不同的koa版本,支持不同的multer版本,以及在使用的方式上也有所不同
,使用方式查看以上链接文档
koa-multer仅仅支持multipart/form-data类型的数据
推荐使用第一种方式类满足需求