Skip to content

Instantly share code, notes, and snippets.

@zenbro
Created July 18, 2014 05:56
Show Gist options
  • Save zenbro/b33dc0fb3bd19af3cc07 to your computer and use it in GitHub Desktop.
Save zenbro/b33dc0fb3bd19af3cc07 to your computer and use it in GitHub Desktop.
Convert Base64 string to Blob.
function base64ToBlob(b64String, callback) {
var contentType = b64String.split(',')[0].split(':')[1].split(';')[0];
var byteCharacters = atob(b64String.split(',')[1]);
var sliceSize = 512;
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.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 });
callback(blob);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment