On the frontend, use dropzone.js, on the backend, use connect-express.
Node Route Example
module.exports.post = function (req, res, next)
{
console.log('request:');
var fstream;
req.pipe(req.busboy);
req.busboy.on('file', function (fieldname, file, filename)
{
console.log('Uploading: ' + filename);
fstream = fs.createWriteStream('./public/uploads/' + filename);
file.pipe(fstream);
fstream.on('close', function ()
{
res.redirect('back');
});
});
};