File upload example using busboy with express
January 7, 2015 ยท View on GitHub
var path = require('path'); var fs = require('fs'); var os = require('os'); var express = require('express'); var app = express(); var Busboy = require('busboy');
app.get('/', function (req, res) {
res.send('
'); res.end(); });
// accept POST request on the homepage app.post('/', function (req, res) { var busboy = new Busboy({ headers: req.headers }); busboy.on('file', function(fieldname, file, filename, encoding, mimetype) { var saveTo = path.join('.', filename); console.log('Uploading: ' + saveTo); file.pipe(fs.createWriteStream(saveTo)); }); busboy.on('finish', function() { console.log('Upload complete'); res.writeHead(200, { 'Connection': 'close' }); res.end("That's all folks!"); }); return req.pipe(busboy);
});
var server = app.listen(3000, function () {
var host = server.address().address var port = server.address().port
console.log('Example app listening at http://%s:%s', host, port)
});