koa 中koaBodyConfig的文件上传配置
在 Koa 中,koa-body 用于解析请求体,包括文件上传。可以通过设置 koaBodyConfig 来配置文件上传参数。
以下是一个示例配置:
const Koa = require('koa');
const koaBody = require('koa-body');
const app = new Koa();
const koaBodyConfig = {
multipart: true,
formidable: {
maxFileSize: 200 * 1024 * 1024, // 设置上传文件大小限制,默认2M
uploadDir: 'uploads', // 设置上传文件的保存目录,默认为系统临时目录
keepExtensions: true, // 保留上传文件的扩展名,默认为 false
},
};
app.use(koaBody(koaBodyConfig));
// 处理文件上传请求
app.use(async (ctx) => {
if (ctx.method === 'POST' && ctx.path === '/upload') {
const file = ctx.request.files.file; // 上传的文件对象
ctx.body = { message: '文件上传成功', filename: file.name };
}
});
app.listen(3000, () => {
console.log('服务已启动,监听端口3000');
});
在上面的代码中,我们通过设置 multipart 为 true 来启用文件上传功能,然后通过 formidable 属性来配置文件上传参数,包括上传文件大小限制、上传文件保存目录以及是否保留上传文件的扩展名等。最后在处理上传请求的中间件中,通过 ctx.request.files.file 获取上传的文件对象,然后可以进行相应的处理。
需要注意的是,koa-body 只能处理 multipart/form-data 类型的请求体,如果需要处理其他类型的请求体,需要使用其他中间件或手动处理。
原文地址: http://www.cveoy.top/t/topic/bcip 著作权归作者所有。请勿转载和采集!