danzi

A uploader middleware for express application

DanZi

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();
app
  .use(express.bodyParser())
  .use(danzi({path: __dirname + '/public/upload'}));
 
app.post('/upload', function(reqres) {
  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);
});
 
app.listen(3000);
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

MIT