以下是网上抄的代码
function dataURLtoBlob(dataurl) {
const arr = dataurl.split(',');
//注意base64的最后面中括号和引号是不转译的
const _arr = arr[1].substring(0, arr[1].length - 2);
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(_arr);
let n = bstr.length
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
});
}
其中
//注意base64的最后面中括号和引号是不转译的
const _arr = arr[1].substring(0, arr[1].length - 2);
这两句是什么意思.
自己用的base64中, 最后两位不是括号也不是引号, 而是不确定的两位字符.
已知遇到过的情况有: "==" "I=" "CC"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…