UNPKG

kea-react

Version:

Componentes comunes de react

45 lines (44 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /**Convierte un Blobk a una cadena base64 */ function BlobToBase64(archivo) { return new Promise(function (resolve) { var reader = new FileReader(); reader.onload = function () { var dataUrl = reader.result; //Caso especial, si el blob viene vacio esto devuelve "data:" if (dataUrl == "data:") resolve(""); var base64Prefix = "base64,"; var base64 = dataUrl.substring(dataUrl.indexOf(base64Prefix) + base64Prefix.length); resolve(base64); }; reader.readAsDataURL(archivo); }); } exports.BlobToBase64 = BlobToBase64; /**Convierte una cadena base64 a un blob */ function Base64ToBlob(base64, contentType) { //Este codigo fue tomado de //http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript#16245768 contentType = contentType || ''; var byteCharacters = atob(base64); return stringToBlob(byteCharacters, contentType); } exports.Base64ToBlob = Base64ToBlob; function stringToBlob(value, contentType) { var sliceSize = 512; var byteArrays = []; for (var offset = 0; offset < value.length; offset += sliceSize) { var slice = value.slice(offset, offset + sliceSize); var byteNumbers = new Array(slice.length); for (var i = 0; i < slice.length; i++) { byteNumbers[i] = slice.charCodeAt(i); } var byteArray = new Uint8Array(byteNumbers); byteArrays.push(byteArray); } var blob = new Blob(byteArrays, { type: contentType }); return blob; } exports.stringToBlob = stringToBlob;