I am assuming you already have install NodeJS in your System, Just follow below simple steps
Install below module ?
npm install express
npm install fs
npm install body-parser
npm install multer
HTML Part?
Create a file upload.html and add below code in file.
Node JS Code
create upload.js file and add below code.
var express = require('express');
var app = express();
var fs = require("fs");
var bodyParser = require('body-parser');
var multer = require('multer');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: false }));
var upload = multer({ dest: './tmp' });
app.get('/upload.html', function (req, res) {
res.sendFile( __dirname + "/" + "upload.html" );
})
app.post('/file_upload', upload.single('file'), function (req, res) {
console.log(req.file);
var file = __dirname + "/public/upload/" + req.file.originalname;
fs.readFile( req.file.path, function (err, data) {
fs.writeFile(file, data, function (err) {
if( err ){
console.log( err );
}else{
response = {
message:'File uploaded successfully',
filename:req.file.originalname
};
}
console.log( response );
res.end( JSON.stringify( response ) );
});
});
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)
})
Question: Following are sample of file object in ?
{ fieldname: 'file',
originalname: 'Desert.jpg',
encoding: '7bit',
mimetype: 'image/jpeg',
destination: './tmp',
filename: '3570feafa527690b90b972a1bf085bdd',
path: 'tmp\\3570feafa527690b90b972a1bf085bdd',
size: 845941 }
Create following empty folder?
/tmp
/public
/public\upload
Now Start the Node project?
node upload.js
Access the Web URL?
http://127.0.0.1:8081/upload.html
Select the File and click on Upload File?
It will show below simiar message
{"message":"File uploaded successfully","filename":"Desert.jpg"}
Question: What port we have used here?
We have used 8081 port, but you can change it by change in upload.js