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类型的数据
推荐使用第一种方式类满足需求

浙公网安备 33010602011771号