Actualmente todo los decodificadores de base64 en javascript son para cadenas, no funcionan para datos binarios; el ejemplo es cuando usas un elemento canvas
y obtienes su representación base64 ( canvas.toDataURL()
) usualmente enviarás la cadena al servidor y ahí harás la decodificación en base64, si quieres procesar los datos en javascript encontrarás que fallará debido a que lo procesará como cadena.
Este script está usando los nuevos “array typed” (supongo que traducido como Arreglos con Tipo) de javascript, el uso básico es para decodificar una cadena base64 en un Uint8Array
lo puedes utilizar como:
var uintArray = Base64Binary.decode(base64_string);
La otra llamada es cambiar el Uint8Array
en un ArrayBuffer
, esto es muy útil por ejemplo para subir un archivo mediante FormData
( formdata.append("file", arraybuffer, "test.png")
), puedes usarlo como:
var byteArray = Base64Binary.decodeArrayBuffer(base64_string);
Puedes checar el código aqui:
https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js