Skip to content

Instantly share code, notes, and snippets.

@huozhi
Created September 12, 2016 13:19
Show Gist options
  • Save huozhi/4c562e9d56e5ab280ec5459c8c8947db to your computer and use it in GitHub Desktop.
Save huozhi/4c562e9d56e5ab280ec5459c8c8947db to your computer and use it in GitHub Desktop.
convert base64 to blob object (from stackoverflow)
export const dataURItoBlob = (dataURI) => {
// convert base64/URLEncoded data component to raw binary data held in a string
let byteString
if (dataURI.split(',')[0].indexOf('base64') >= 0) {
byteString = atob(dataURI.split(',')[1])
} else {
byteString = unescape(dataURI.split(',')[1])
}
// separate out the mime component
const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]
// write the bytes of the string to a typed array
const ia = new Uint8Array(byteString.length)
for (let i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i)
}
return new Blob([ia], {type:mimeString})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment