node package manager

Introducing npm Enterprise add-ons. Integrate third-party dev tools into npm…


A uploader middleware for express application


A uploader middleware for express application. DanZi (担子 dàn zǐ in Chinese) means a burden, which is usually used in oral language.

$ npm install danzi
  • path A writeable path to store the uploaded file
  • storage A hash contains the cloud service info

It must be used with express, and be put after bodyParser, see example below.

Write a simple app.js in your express project

var express = require('express');
var danzi = require('danzi');
var app = express();
  .use(danzi({path: __dirname + '/public/upload'}));'/upload', function(req, res) {
  var versions = {
    thumb: [ 50, 50 ], // [ width, height ] in pixel 
    profile: [ 80, 160 ],
    hero: [ 100, 225 ]
  Object.keys(req.files).forEach(function(key) {
    var file = req.files[key];
    // set versions for resizing 
    file.versions = versions;
  res.send('Your file is placed at: ' + req.files.file.uri);
console.log('listening on port 3000');

Then do a test

node app.js
curl -X POST --form "file=@/path/to/file" "http://localhost:3000/upload"

You will find your files are put into directory public/upload