koa 中利用koa-body解析上传文件的formData
时间: 2024-02-18 16:00:52 浏览: 295
在 Koa 中,可以使用 `koa-body` 中间件来解析上传文件的 `formData`。下面是一个示例代码:
```javascript
const Koa = require('koa');
const koaBody = require('koa-body');
const app = new Koa();
app.use(koaBody({
multipart: true,
formidable: {
maxFileSize: 200 * 1024 * 1024, // 设置上传文件大小限制,默认2M
}
}));
app.use(async (ctx) => {
if (ctx.request.method === 'POST' && ctx.request.url === '/upload') {
const file = ctx.request.files.file; // 获取上传的文件对象
console.log(file);
ctx.body = '文件上传成功';
} else {
ctx.body = 'Hello Koa';
}
});
app.listen(3000, () => {
console.log('Koa server listening on 3000');
});
```
在上面的代码中,首先使用 `koa-body` 中间件,并设置 `multipart` 属性为 `true`,表示支持上传文件。然后,使用 `formidable` 属性来配置上传文件的相关参数,例如,`maxFileSize` 表示上传文件的大小限制,默认为 2M。
在处理请求时,如果请求方法为 `POST`,且请求路径为 `/upload`,则从 `ctx.request.files` 中获取上传的文件对象,并进行相关处理。否则,返回 `Hello Koa`。
阅读全文