JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 114892
  • Score
    100M100P100Q174372F
  • License MIT

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

Package Exports

  • @koa/multer
  • @koa/multer/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@koa/multer) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@koa/multer

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 multer@1.x (Buffer) or multer@2.x (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