標簽(空格分隔): 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類型的數據
推薦使用第一種方式類滿足需求