It’s been quite a while I didn’t post anything in this blog, I was kept busy everyday even though I don’t know why.
Few days ago I’m required to implement a simple file upload interface, in order test the API I developed a mock node.js server which will take the uploaded file. The mock is built with express.js.
var express = require('express'); var router = express.Router(); var formidable = require('formidable'); var fs =require('fs-extra'); //File System-needed for renaming file etc
/* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); });
router.post('/upload', function(req, res, next0) { var form = new formidable.IncomingForm(); //Formidable uploads to operating systems tmp dir by default form.uploadDir = "img"; //set upload directory form.keepExtensions = true; //keep file extension
//Formidable changes the name of the uploaded file //Rename the file to its original name fs.rename(files.fileUploaded.path, './img/'+files.fileUploaded.name, function(err) { if (err) throw err; console.log('renamed complete'); }); res.end(); }); });
module.exports = router;
And we need a page ##index.jade## to test the server: