Initial commit
This commit is contained in:
45
library/LibFile.js
Normal file
45
library/LibFile.js
Normal file
@ -0,0 +1,45 @@
|
||||
const fs = require('fs');
|
||||
const path = require("path");
|
||||
|
||||
const STORAGE_PATH = path.join(__dirname, '../files/storage/');
|
||||
|
||||
class LibFile {
|
||||
static save(filename, dirpath, rawBase64) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const cleanBase64 = rawBase64.replace(/^data:(image|application)\/(png|jpg|jpeg);base64,/, '');
|
||||
const saveLocation = `${STORAGE_PATH}${dirpath}/${filename}`;
|
||||
|
||||
LibFile.ensureDirectoryExistence(saveLocation);
|
||||
|
||||
fs.writeFile(saveLocation, cleanBase64, 'base64', function (err) {
|
||||
if (err) return reject(err);
|
||||
resolve(`${dirpath}/${filename}`);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
static ensureDirectoryExistence(filePath) {
|
||||
var dirname = path.dirname(filePath);
|
||||
if (fs.existsSync(dirname)) {
|
||||
return true;
|
||||
}
|
||||
LibFile.ensureDirectoryExistence(dirname);
|
||||
fs.mkdirSync(dirname);
|
||||
}
|
||||
|
||||
static remove(filenamepath) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const removeLocation = `${STORAGE_PATH}${filenamepath}`;
|
||||
// if not exists mean, have been deleted
|
||||
if (!fs.existsSync(removeLocation)) return resolve(true);
|
||||
// if exist mean not deleted
|
||||
fs.unlink(removeLocation, function(err) {
|
||||
if (err) return reject(err);
|
||||
resolve(true);
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = LibFile;
|
||||
Reference in New Issue
Block a user