Skip to content

Instantly share code, notes, and snippets.

@sandcastle
Created July 10, 2016 18:21
Show Gist options
  • Select an option

  • Save sandcastle/d04bcb5a1b7283c15310bf3207dbdad3 to your computer and use it in GitHub Desktop.

Select an option

Save sandcastle/d04bcb5a1b7283c15310bf3207dbdad3 to your computer and use it in GitHub Desktop.
Convert base 64 to blob
b64toBlob(b64Data, contentType, sliceSize) {
contentType = contentType || '';
sliceSize = sliceSize || 512;
let byteCharacters = atob(b64Data);
let byteArrays = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
let slice = byteCharacters.slice(offset, offset + sliceSize);
let byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
let byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
let blob = new Blob(byteArrays, { type: contentType });
return blob;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment