koa处理formdata
时间: 2023-07-05 12:34:14 浏览: 270
Koa 使用小技巧(小结)
要在 Koa 中处理 FormData,需要使用一个中间件来解析它,比如 koa-body 或 koa-bodyparser。
下面是使用 koa-body 的示例代码:
```javascript
const Koa = require('koa');
const koaBody = require('koa-body');
const app = new Koa();
app.use(koaBody({
multipart: true, // 支持文件上传
}));
app.use(async (ctx) => {
if (ctx.request.method === 'POST') {
const { files, fields } = ctx.request.body;
// 处理上传的文件和字段
} else {
// 处理其他请求
}
});
app.listen(3000);
```
在这个示例中,我们首先使用 koa-body 中间件来解析 FormData,然后在处理 POST 请求时,从 `ctx.request.body` 中获取上传的文件和字段。
需要注意的是,由于 FormData 支持上传多个文件,因此 `ctx.request.body.files` 是一个对象,其中每个属性都对应一个上传的文件。而 `ctx.request.body.fields` 则是一个对象,其中每个属性都对应一个表单字段的值。
另外,由于 koa-body 默认只解析 application/json、application/x-www-form-urlencoded 和 text/plain 类型的请求体,因此需要将 `multipart` 设置为 `true` 来支持文件上传。
阅读全文