关于html2Canvas浏览器兼容性问题(IE兼容)
可以对IE兼容进行处理。 (生成图片url的接口一般传递blob对象,base64可以通过File对象转换,但是IE不支持,所以通过Blob对象转换)
函数:将 base64 编码的字符串转换为 Blob 对象
const base64ToBlob = (base64String: any) => {
const parts = base64String.split(';base64,');
const contentType = parts[0].split(':')[1];
const raw = window.atob(parts[1]);
const rawLength = raw.length;
const uInt8Array = new Uint8Array(rawLength);
for (let i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {
type: contentType
});
}
//html2Canvas插件
const imgUrl = canvas.toDataURL('image/png');
let resultBase64 = await base64AddWaterMaker(imgUrl, wmConfig);
//图片名称
let fileName =qxtxType.value?`9_${tel1}.png` : `${type}_${tel1}.png`
// 创建 Blob 对象
const file = base64ToBlob(resultBase64);
//这种写法不兼容ie
//const file = new File([base64ToBlob(resultBase64)], fileName, { type: 'image/png' });
// 创建 FormData 对象并添加文件
let formData = new FormData();
formData.append('file', file,fileName);
原文地址:https://blog.csdn.net/qq_45695853/article/details/140383774
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!