imgURL = canvas.toDataURL(“image/png”);//返回的是data:image/png;base64,iVBORxxxx…
imgURL=URL.createObjectURL(/blob/对象);//返回的是data:image/png;base64,iVBORxxxx…
下面是将base64的URL转换成Blob对象
1.Base64转文件格式大小(带有前缀的截取,比如data:application/pdf;base64,JVEwxxx…)
function base64toBlob(dataurl, filename) { 将base64转换为文件
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 File([u8arr], filename, { type: mime });
}
2.Base64转blob格式大小(不用处理前缀)
function base64toBlob(base64,type) {
// 将base64转为Unicode规则编码
bstr = atob(base64, type),
n = bstr.length,
u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n) // 转换编码后才可以使用charCodeAt 找到Unicode编码
}
return new Blob([u8arr], {
type,
})
}
下载图片
let a = document.createElement('a');
a.download = "image";
a.href = URL.createObjectURL(blob);
a.click();
URL.revokeObjectURL(blob);
//html2canvas(canvasID).then()插件可实现截图效果