kea-react
Version:
Componentes comunes de react
45 lines (44 loc) • 1.76 kB
JavaScript
;
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;