接收不到数据可能是下面这些错误导致:
const koaBody = require('koa-body')({multipart: true});
app.use(router.routes())
app.use(koaBody);
因为Node的执行顺序是按照书写代码的顺序的,所以需要将中间件的引用写在routes的前面才可以,正确写法
const koaBody = require('koa-body')({multipart: true});
app.use(koaBody);
app.use(router.routes())
2.使用的是 koa-bodyparser
解析,但是事实上,可能发送的表单数据的Content-Type是 mutilpart/form-data
但是koa-bodyparser是不支持这类数据的转化的
上传数据的Content-Type.png
解决方法:
使用koa-body
中间件
const koaBody = require('koa-body')({multipart: true});
app.use(koaBody);
启用enctype设置:
require('koa-body')({multipart: true});
就可以正常接收到数据了
我是在CNode.js找到的答案
网友评论