1
1
Fork 0
mirror of https://github.com/boxgaming/qbjs.git synced 2024-04-29 01:30:13 +00:00

added supporting method for converting data URL to Blob

This commit is contained in:
boxgaming 2023-04-18 14:29:14 -05:00
parent f24fdeeace
commit d55414c49f

24
vfs.js
View file

@ -179,6 +179,30 @@ let VFS = function() {
return dataUrl;
};
this.dataURLToBlob = function(dataURL) {
// 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(dataURL.split(',')[1]);
// separate out the mime component
var mimeString = dataURL.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;
};
function getTypeFromName(filename) {
var parts = filename.split(".");
if (parts.length < 2) { return null; }