UNPKG

@dominion-framework/dominion

Version:

Declarative Promise based Node.js framework for REST API with zero dependencies.

31 lines (20 loc) 887 B
const Config = require("./../../config"); const fs = require('fs'); const path = require('path'); const crypto = require('crypto'); class FileSystemStorage { static fileSave(uploadfile) { let result = {}; let file = Buffer.from(uploadfile.file, 'base64'); let dirPath = path.resolve(Config.media.saveDir); if (!fs.existsSync(dirPath)) { fs.mkdirSync(dirPath); } let fileHash = crypto.createHash('md5').update(file).digest("hex"); let fileName = `${fileHash}.${uploadfile.fileName.split('.').pop()}`; result.fileUrl = `${Config.media.urlPath}/${fileName}`; fs.writeFileSync(path.join(dirPath, fileName), file); return result; } } module.exports = FileSystemStorage;