Koa 多文件上传教程:使用 Multer 实现文件上传
Koa 多文件上传教程:使用 Multer 实现文件上传
在 Koa 中实现上传多个文件需要使用第三方中间件 'Multer'。'Multer' 是一个用于处理文件上传的中间件,可以处理单个文件上传和多个文件上传。
安装 Multer
首先,需要安装 'Multer':
npm install multer
使用 Multer
const Koa = require('koa');
const multer = require('multer');
const Router = require('koa-router');
const app = new Koa();
const router = new Router();
// 设置文件上传路径和文件名
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/');
},
filename: function (req, file, cb) {
cb(null, Date.now() + '-' + file.originalname);
}
});
// 创建 Multer 实例
const upload = multer({ storage: storage });
// 处理文件上传请求
router.post('/upload', upload.array('files', 10), async (ctx, next) => {
// 获取上传的文件
const files = ctx.req.files;
console.log(files);
ctx.body = '文件上传成功';
});
app.use(router.routes()).use(router.allowedMethods());
代码解析
- 设置文件上传路径和文件名: 使用 'Multer' 的 'diskStorage' 方法设置文件保存路径和文件名。
- 创建 Multer 实例: 使用 'Multer' 的 'array' 方法创建实例,并指定文件字段名称 'files' 和最大上传文件数量 '10'。
- 处理文件上传请求: 在路由处理函数中获取上传的文件列表,并进行相应的操作。
总结
通过 'Multer' 中间件,我们可以轻松地在 Koa 中实现多文件上传功能。只需要设置文件保存路径和文件名,并使用 'array' 方法处理上传的文件,就可以实现多文件上传的功能。
原文地址: https://www.cveoy.top/t/topic/mBn2 著作权归作者所有。请勿转载和采集!