convert-base64-to-image
Version:
This is a node package that helps you to convert base64 string created by javascript file reader to image downloadable file
61 lines (60 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.bufferToImageAndWriteImageToPath = exports.convertBase64ToBuffer = exports.readBase64File = void 0;
var fs = require("fs");
var manipulateUTF8String = function (utf8) {
try {
var base64 = utf8.split(',')[1];
return base64;
}
catch (error) {
throw new Error('Invalid base64 string');
}
};
var readBase64File = function (base64) {
try {
var utf8OrBase64String = base64 ? base64 : fs.readFileSync('base64String.txt', 'utf8');
var base64String = manipulateUTF8String(utf8OrBase64String);
return base64String;
}
catch (error) {
throw error;
}
};
exports.readBase64File = readBase64File;
var convertBase64ToBuffer = function (base64) {
try {
var buffer = Buffer.from(base64, 'base64');
return buffer;
}
catch (error) {
throw error;
}
};
exports.convertBase64ToBuffer = convertBase64ToBuffer;
/**
* @name bufferToImageAndWriteImageToPath
* @description Takes a buffer and converts it to image and writes image to path.
* @param {Buffer} buffer Buffer to be converted to image.
* @param {string} path Full path to write image to e.g /path/to/image.png
*
* @returns {void}
*/
var bufferToImageAndWriteImageToPath = function (buffer, path) {
try {
var fullPath = path.split('/');
var fileName = fullPath.at(-1);
var dir = fullPath.slice(0, -1).join('/');
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
fs.writeFileSync("".concat(dir, "/").concat(fileName), buffer);
}
else {
fs.writeFileSync(path, buffer);
}
}
catch (error) {
throw error;
}
};
exports.bufferToImageAndWriteImageToPath = bufferToImageAndWriteImageToPath;