自学内容网 自学内容网

关于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)!