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');
});