DekGenius.com
JAVASCRIPT
file uploading node.js
//<html>
//<head>
//<title> File Uploader</title>
//</head>
//<body>
//<form action="http://localhost:3000/upload" enctype="multipart/form-data" method="POST">
//<input type="file" name="data" />
//<input type="submit" value="Upload a file" />
//</form>
//</body>
//</html>
//Middleware
var multer = require("multer");
var storage = multer.diskStorage({
destination: function (req, file, callback) {
callback(null, "/media/uploads/");
},
filename: function (req, file, callback) {
var actualFileName = file.originalname;
var actualFileNameSplit = actualFileName.split(".");
var actualFileName0 = actualFileNameSplit[0];
var id =
Date.now() +
"-" +
actualFileName0 +
"-" +
path.extname(file.originalname);
var finalId = id.replace(/s/g, "");
callback(null, finalId);
},
});
// var maxSize = 200 * 1024 * 1024;
var upload = multer({
storage: storage,
// limits: { fileSize: maxSize },
}).single("file");
// req.file is the `file` file
// req.body will hold the text fields, if there were any
upload(req, res, function (err) {
if (err instanceof multer.MulterError) {
// A Multer error occurred when uploading.
return res.status(500).send({
message: "Error",
statusCode: "500",
});
} else if (err) {
// An unknown error occurred when uploading.
return res.status(500).send({
message: "Error",
statusCode: "500",
});
} else {
return res.status(200).send({
message: "File Uploaded!",
statusCode: "200",
});
}
Node.js Upload Files
// create upload form
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
res.write('<input type="file" name="filetoupload"><br>');
res.write('<input type="submit">');
res.write('</form>');
return res.end();
}).listen(8080);
// parse upload file
var http = require('http');
var formidable = require('formidable');
http.createServer(function (req, res) {
if (req.url == '/fileupload') {
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
res.write('File uploaded');
res.end();
});
} else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
res.write('<input type="file" name="filetoupload"><br>');
res.write('<input type="submit">');
res.write('</form>');
return res.end();
}
}).listen(8080);
// save file
var http = require('http');
var formidable = require('formidable');
var fs = require('fs');
http.createServer(function (req, res) {
if (req.url == '/fileupload') {
var form = new formidable.IncomingForm();
form.parse(req, function (err, fields, files) {
var oldpath = files.filetoupload.filepath;
var newpath = 'C:/Users/Your Name/' + files.filetoupload.originalFilename;
fs.rename(oldpath, newpath, function (err) {
if (err) throw err;
res.write('File uploaded and moved!');
res.end();
});
});
} else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('<form action="fileupload" method="post" enctype="multipart/form-data">');
res.write('<input type="file" name="filetoupload"><br>');
res.write('<input type="submit">');
res.write('</form>');
return res.end();
}
}).listen(8080);
upload node js
const formidable = require('formidable');
const fs = require('fs');
const express = require('express');
const app = express();
const http = require('http');
const server = http.createServer(app);
const hbjs = require('handbrake-js')
const cors = require('cors');
bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors());
app.post('/upload', (req, res) => {
let form = new formidable.IncomingForm();
form.parse(req, function (error, fields, file) {
console.log(file)
const filepath = file.fileupload.filepath;
const newpath = 'upload/';
newpath += file.fileupload.originalFilename;
if (fs.existsSync(newpath)) {
// path exists
console.log("exists:", newpath);
} else {
console.log("DOES NOT exist:", newpath);
}
fs.rename(filepath, newpath, function () {
res.write('NodeJS File Upload Success!');
res.end();
});
let randnum = Math.floor(Math.random())
hbjs.spawn({ input: `${file.fileupload.originalFilename}`, output: `file${randnum}.m4v` })
.on('error', err => {
console.log(err)
})
.on('progress', progress => {
console.log
(
'Percent complete: %s, ETA: %s',
progress.percentComplete,
progress.eta
)
})
});
})
app.get('/', (req, res) => {
res.sendFile(__dirname + '/upload.html');
});
server.listen(8086, () => {
console.log('listening on *:1034');
});
file uploading node.js
//<html>
//<head><title> NodeJS File Upload Example </title></head>
//<body>
//<form action="http://localhost:80/upload" method="post" enctype="multipart/form-data">
// <input type="file" name="fileupload">
//<br>
//<input type="submit">
//</form>
//</body>
//</html>
let http = require('http');
let formidable = require('formidable');
let fs = require('fs');
http.createServer(function (req, res) {
//Create an instance of the form object
let form = new formidable.IncomingForm();
//Process the file upload in Node
form.parse(req, function (error, fields, file) {
let filepath = file.fileupload.filepath;
let newpath = 'C:/upload-example/';
newpath += file.fileupload.originalFilename;
//Copy the uploaded file to a custom folder
fs.rename(filepath, newpath, function () {
//Send a NodeJS file upload confirmation message
res.write('NodeJS File Upload Success!');
res.end();
});
});
}).listen(80);
© 2022 Copyright:
DekGenius.com