added file upload

This commit is contained in:
CHIEFSOFT\ameye
2024-05-24 08:09:11 -04:00
parent d264d08ed7
commit 81bcc063b3
+134 -1
View File
@@ -34,6 +34,8 @@ const multer = require('multer')
// 'tt8':'RabbitMQ - RPC with NodeJs (request-reply pattern)-(1080p60).mp4',
// 'tt9':'How to Install RabbitMQ Locally with Docker-(1080p60).mp4',
// }
//https://dev140.apitest.wrenchboard.com/
// http://127.0.0.1:3000/
console.log("Finding File");
@@ -42,12 +44,14 @@ var corsOptions = {
optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204
}
app.use(cors(corsOptions));
//app.use(cors(corsOptions));
app.use(cors());
// ,cors(corsOptions)
const storage = multer.diskStorage({
destination: function(req, file, cb) {
return cb(null, '/opt/wrenchboard/TEST/DUMMY')
//return cb(null, '/usr/src/app/videos')
},
filename: function (req, file, cb) {
return cb(null, `${Date.now()}_${file.originalname}`)
@@ -109,7 +113,136 @@ app.post('/upload/task', upload.single('file'), (req, res) => {
})
})
app.post("/upload/resources", upload.array("files"), (req, res) => {
// Sets multer to intercept files named "files" on uploaded form data
console.log(req.body); // Logs form body values
//console.log(req.files); // Logs any files
let destinationDir = process.env.COMMON_TASKF_PATH !== undefined ? process.env.COMMON_TASKF_PATH : '/opt/wrenchboard/TEST/TASKFILE';
const fs = require('fs');
const dir = destinationDir + "/" + req.body.uid;
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
if (!fs.existsSync(targetDir)) {
fs.mkdirSync(targetDir);
}
let targetDir = destinationDir+'/MYFILES';
req.files.map(( onefile )=>{
{
//===============================================
console.log( onefile );
fs.rename(onefile.path, targetDir, function (err) {
if (err) throw err
console.log('Successfully renamed - '+onefile.path);
console.log('Start::Database Registration!');
var data = {
"description": req.body.description,
"file_name": onefile.filename,
"file_size": onefile.size,
"file_type": onefile.mimetype,
"member_id": req.body.member_id,
"saved_file_name": onefile.filename,
"title": req.body.title
};
console.log("DATA - > ", data);
var queryText = 'INSERT INTO members_myfiles (description,file_name,file_size,file_type,member_id,saved_file_name,title) VALUES ($1,$2,$3,$4,$5,$6,$7) RETURNING uid';
db.query(queryText, [data.description,data.file_name,data.file_size,data.file_type,data.member_id,data.saved_file_name,data.title], function(dbErr, result) {
if (dbErr) {
console.log("DataError - > ", dbErr.toString());
}else{
console.log("DB Result - > " , result.rows);
result_list = result.rows;
}
console.log('End::Database Registration!');
})
return res.status(200).json({'status': 'Completed', 'internal_return': 0, 'result_list': result_list })
//return res.status(200).send('Completed')
})
//===============================================
}
// 2024-05-23 22:13:28 fieldname: 'files',
// 2024-05-23 22:13:28 originalname: 'ofac sanctions list service - api documentation.docx',
// 2024-05-23 22:13:28 encoding: '7bit',
// 2024-05-23 22:13:28 mimetype: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
// 2024-05-23 22:13:28 destination: '/usr/src/app/videos',
// 2024-05-23 22:13:28 filename: '1716516808509_ofac sanctions list service - api documentation.docx',
// 2024-05-23 22:13:28 path: '/usr/src/app/videos/1716516808509_ofac sanctions list service - api documentation.docx',
// 2024-05-23 22:13:28 size: 243667
// 2024-05-23 22:13:28 }
})
res.json({ message: "File(s) uploaded successfully" });
//
});
app.post('/upload/resources2', upload.single('file'), (req, res) => {
console.log(req.body)
console.log(req.file)
let uid = req.body.uid;
let job_uid = req.body.job_uid;
console.log(" req.body.uid -> ", uid)
console.log(" req.body.job_uid -> ", job_uid)
console.log(" process.env.COMMON_TASKF_PATH-> ", process.env.COMMON_TASKF_PATH)
let destinationDir = process.env.COMMON_TASKF_PATH !== undefined ? process.env.COMMON_TASKF_PATH : '/opt/wrenchboard/TEST/TASKFILE';
const fs = require('fs');
const dir = destinationDir + "/" + job_uid;
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}
const oldPath = req.file.path;
const newPath = dir + "/" + req.file.filename;
var result_list ='';
fs.rename(oldPath, newPath, function (err) {
if (err) throw err
console.log('Successfully renamed - AKA moved!');
console.log('Start::Database Registration!');
var data = {
"member_uid": req.body.uid,
"job_uid": req.body.job_uid,
"filename": req.file.filename,
"originalname": req.file.originalname,
"mimetype": req.file.mimetype,
"size": req.file.size,
"encoding": req.file.encoding
};
console.log("DATA - > ", data);
var queryText = 'INSERT INTO members_jobs_files( member_uid,job_uid,filename,originalname,mimetype,size,encoding ) VALUES($1,$2,$3,$4,$5,$6,$7) RETURNING uid';
db.query(queryText, [data.member_uid,data.job_uid,data.filename,data.originalname,data.mimetype,data.size,data.encoding], function(dbErr, result) {
if (dbErr) {
console.log("DataError - > ", dbErr.toString());
}else{
console.log("DB Result - > " , result.rows);
result_list = result.rows;
}
console.log('End::Database Registration!');
})
return res.status(200).json({'status': 'Completed', 'internal_return': 0, 'result_list': result_list })
//return res.status(200).send('Completed')
})
})
app.get('/videos/:filename', (req, res)=>{