koa2一般处理 post 请求使用的是 koa-bodyparser,图片上传使用的是 koa-multer。
这两个在一起没什么问题,但是 koa-multer 和 koa-route(不是 koa-router) 存在不兼容的问题。
故,建议在koa中全局引入 koa-body。
npm i koa-body -S
在server入口文件添加配置。
const Koa = require('koa');
const app = new Koa();
const koaBody = require("koa-body");
app.use(koaBody({
multipart: true,
formLimit: "50mb", // 文件上传大小
jsonLimit: "50mb", // 数据上传大小
formidable: {
// uploadDir:path.join(__dirname,'static/upload/'), // 文件上传目录
keepExtensions: true, // 文件的后缀
maxFileSize: 50000*1024*1024,
onFileBegin:(name,file) => {
// 文件上传前的设置
// console.log(`name: ${name}`);
// console.log(file);
},
}
}));