Skip to content

Instantly share code, notes, and snippets.

@wuchengwei
Last active February 15, 2024 16:50
Show Gist options
  • Star 29 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save wuchengwei/b7e1820d39445f431aeaa9c786753d8e to your computer and use it in GitHub Desktop.
Save wuchengwei/b7e1820d39445f431aeaa9c786753d8e to your computer and use it in GitHub Desktop.
dataURL to blob and blob to dataURL
//**dataURL to blob**
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
while(n--){
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {type:mime});
}
//**blob to dataURL**
function blobToDataURL(blob, callback) {
var a = new FileReader();
a.onload = function(e) {callback(e.target.result);}
a.readAsDataURL(blob);
}
//test:
var blob = dataURLtoBlob('data:text/plain;base64,YWFhYWFhYQ==');
blobToDataURL(blob, function(dataurl){
console.log(dataurl);
});
@gterras
Copy link

gterras commented Jun 11, 2019

@GevitarGaming04
Copy link

thank you

much easier than installing plugins lol

@fadhiloffical
Copy link

can I give the blob a filename? if yes, how

@theDanielJLewis
Copy link

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment