Skip to content
/ multer Public

Middleware for handling `multipart/form-data` for koa, based on Express's multer.

License

Notifications You must be signed in to change notification settings

koajs/multer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Nov 22, 2022
fb80750 · Nov 22, 2022

History

91 Commits
Jan 18, 2020
Nov 22, 2022
Jan 17, 2020
Jan 17, 2020
May 27, 2020
Jan 17, 2020
Apr 3, 2015
Nov 22, 2022
Nov 22, 2022
Nov 22, 2022
Apr 13, 2022

Repository files navigation

Route middleware for Koa that handles multipart/form-data using multer

NPM version NPM Downloads Build status Test coverage Dependency status License

Call for Maintainers

This module is a fork of koa-multer, the most widely used multer middleware in the koa community. Due to lack of maintenance, it was forked to the official Koa organization and is available under @koa/multer package name.

Install

Note that you must install either [email protected] (Buffer) or [email protected] (Streams):

npm install --save @koa/multer multer

Usage

const Koa = require('koa');
const Router = require('@koa/router');
const multer = require('@koa/multer');

const app = new Koa();
const router = new Router();
const upload = multer(); // note you can pass `multer` options here

// add a route for uploading multiple files
router.post(
  '/upload-multiple-files',
  upload.fields([
    {
      name: 'avatar',
      maxCount: 1
    },
    {
      name: 'boop',
      maxCount: 2
    }
  ]),
  ctx => {
    console.log('ctx.request.files', ctx.request.files);
    console.log('ctx.files', ctx.files);
    console.log('ctx.request.body', ctx.request.body);
    ctx.body = 'done';
  }
);

// add a route for uploading single files
router.post(
  '/upload-single-file',
  upload.single('avatar'),
  ctx => {
    console.log('ctx.request.file', ctx.request.file);
    console.log('ctx.file', ctx.file);
    console.log('ctx.request.body', ctx.request.body);
    ctx.body = 'done';
  }
);

// add the router to our app
app.use(router.routes());
app.use(router.allowedMethods());

// start the server
app.listen(3000);

Contributors

Name Website
Nick Baugh http://niftylettuce.com/
Imed Jaberi https://www.3imed-jaberi.com/

License

MIT © Fangdun Cai

About

Middleware for handling `multipart/form-data` for koa, based on Express's multer.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published