@lancercomet/utils
Version:
My personal utils lib.
39 lines (38 loc) • 1.08 kB
JavaScript
/**
* 将 Base64 转换为 Blob.
*
* @param {string} base64
* @returns {Blob}
*/
function base64ToBlob(base64) {
var byteString = atob(base64.split(',')[1]);
var mimeString = base64.split(',')[0].split(':')[1].split(';')[0];
var buffer = new ArrayBuffer(byteString.length);
var uint8Array = new Uint8Array(buffer);
for (var i = 0; i < byteString.length; i++) {
uint8Array[i] = byteString.charCodeAt(i);
}
return new Blob([buffer], { type: mimeString });
}
/**
* 将 Blob 转换为 Base64.
*
* @param {Blob} blob
* @returns {Promise<string>}
*/
function blobToBase64(blob) {
return new Promise(function (resolve, reject) {
var fileReader = new FileReader();
fileReader.addEventListener('load', function (event) {
var base64 = event.target.result;
resolve(base64);
});
try {
fileReader.readAsDataURL(blob);
}
catch (error) {
reject(error);
}
});
}
export { base64ToBlob, blobToBase64 };