UNPKG

@lancercomet/utils

Version:
39 lines (38 loc) 1.08 kB
/** * 将 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 };