blob链接类型图片在android微信浏览器兼容问题?

新手上路,请多包涵

老哥们,深夜求助一波。

问题场景:为了解决截图方法html2canvas生成base64类型图片过大导致华为等部分机型图片保存失败且微信环境导致当前页右上角分享直接闪退,我这边初步用window.URL.createObjectURL(blob)生成的blob链接可以解决这些问题;

但是问题又来了:(blob类型链接图片在android机微信浏览器保存失败,无法收藏),老哥们有空看到的求指教一下。

踩坑几天了没有好的解决方法,像是直接把base64传给后端,返回oss链接应该可以,但是因为是用户配置链接分享的图片,图片都不一样无法全部存在oss,场景不合适。所以想问一下有没有其他好的方法解决一下,非常头疼这个问题。

阅读 5.8k
2 个回答

请问找到方法解决了吗??

新手上路,请多包涵

解决思路:base64转blob,然后使用FileReader读取blob,将读取结果赋值给img的src;

var qrcode = new QRCode(div, qrOption);
                qrcode.makeCode(qrOption.text);
                var canvas2 = qrcode._el.querySelector('canvas');
                var base64Text = canvas2.toDataURL('image/png');
                // base64转blob
                var blob = dataURLtoBlob(base64Text);
                const fr = new FileReader();
                fr.readAsDataURL(blob)
                fr.onload = e => {
                    jQuery('#share_qrcode').html(`<img src="${e.target.result}">`);
                }
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏