uppy
Version:
Almost as cute as a Puppy :dog:
32 lines (25 loc) • 847 B
JavaScript
;
function dataURItoBlob(dataURI, opts, toFile) {
// get the base64 data
var data = dataURI.split(',')[1];
// user may provide mime type, if not get it from data URI
var mimeType = opts.mimeType || dataURI.split(',')[0].split(':')[1].split(';')[0];
// default to plain/text if data URI has no mimeType
if (mimeType == null) {
mimeType = 'plain/text';
}
var binary = atob(data);
var array = [];
for (var i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
// Convert to a File?
if (toFile) {
return new File([new Uint8Array(array)], opts.name || '', { type: mimeType });
}
return new Blob([new Uint8Array(array)], { type: mimeType });
}
module.exports = function (dataURI, opts) {
return dataURItoBlob(dataURI, opts, true);
};
//# sourceMappingURL=dataURItoFile.js.map