Created
September 22, 2019 10:37
-
-
Save ikhanhmai/b1bae287bb0a99ac25f0283b4652811e to your computer and use it in GitHub Desktop.
dataURItoBlob
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dataURItoBlob = (dataURI) => { | |
// convert base64 to raw binary data held in a string | |
// doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this | |
var byteString = atob(dataURI.split(',')[1]); | |
// separate out the mime component | |
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] | |
// write the bytes of the string to an ArrayBuffer | |
var ab = new ArrayBuffer(byteString.length); | |
// create a view into the buffer | |
var ia = new Uint8Array(ab); | |
// set the bytes of the buffer to the correct values | |
for (var i = 0; i < byteString.length; i++) { | |
ia[i] = byteString.charCodeAt(i); | |
} | |
// write the ArrayBuffer to a blob, and you're done | |
var blob = new Blob([ab], {type: mimeString}); | |
return blob; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment