canvas 导出图片网络失败的故障排除

网友投稿 976 2022-05-30

使用html2canvas  截图并下载图片时,出现下载失败, 网络错误

经过 分析 排查,是因为canvas.toDataURL('image/png') 这方法生成的base64的字符太大, 导致无法解析.

通过查看 MDN HTMLCanvasElement 文档详情 知道了canvas 还有一个方法直接转化为Blob

主要方法为

canvas.toBlob() // canvas 转blob

URL.createObjectURL() // blob生产url

最终代码如下

html2canvas(document.querySelector('.fizz_inject_wrap_div')).then(function(canvas) {

canvas.toBlob(function (blob) {

const eleLink = document.querySelector('#fizz_rm_down_link');

eleLink.download = pageTitle + '.png';

eleLink.style.display = 'none';

// 字符内容转变成blob地址

eleLink.href = URL.createObjectURL(blob);

canvas 导出图片网络失败的故障排除

// 触发点击

eleLink.click();

},'image/png',1)

})

顺利下载图片

Canvas 网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Dart & Flutter 开发技巧 8-14
下一篇:Node.js:download下载文件
相关文章