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());

代码解析

  1. 设置文件上传路径和文件名: 使用 'Multer' 的 'diskStorage' 方法设置文件保存路径和文件名。
  2. 创建 Multer 实例: 使用 'Multer' 的 'array' 方法创建实例,并指定文件字段名称 'files' 和最大上传文件数量 '10'。
  3. 处理文件上传请求: 在路由处理函数中获取上传的文件列表,并进行相应的操作。

总结

通过 'Multer' 中间件,我们可以轻松地在 Koa 中实现多文件上传功能。只需要设置文件保存路径和文件名,并使用 'array' 方法处理上传的文件,就可以实现多文件上传的功能。

Koa 多文件上传教程:使用 Multer 实现文件上传

原文地址: https://www.cveoy.top/t/topic/mBn2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录