关于前端h5生成的base64二维码图片,保存到相册的问题

您所在的位置:网站首页 微信文章视频下载到本地相册 关于前端h5生成的base64二维码图片,保存到相册的问题

关于前端h5生成的base64二维码图片,保存到相册的问题

2024-07-10 09:47| 来源: 网络整理| 查看: 265

注册成功后,前端通过后端给的含有邀请码的链接,让我这边来生成二维码。

使用QRcode一下子就完成了。但是有一个问题,就是生的二维码是base64的,长按无法保存图片。

试了很多方法,就是不行。

然后我长按一个是本地图片或者网络图片,都可以保存。我猜想一定是base64的问题。

然后我将QRcode生成的base64编码,先解码,再创建缓冲数组和视图,然后转换成Blob对象,再转换成url,将url 弄到img src属性上,完美收官。

贴上代码

var url = 'xxx' // 你的链接 var div = document.createElement('div'); var code = new QRCode(div, {   text: url,   width: 500,   height: 500,   colorDark: '#000000',   colorLight: '#ffffff',   correctLevel: QRCode.CorrectLevel.H, });        var canvas = code._el.querySelector('canvas'); var base64Text = canvas.toDataURL('image/png'); var blob = getBlob(base64Text);  var url_link = window.URL.createObjectURL(blob); // 将这个url赋值给img的src属性即可 function getBlob(base64) {  var mimeStr = base64.split(',')[0].split(':')[1].split(';')[0]; // mime类型  var byteStr = atob(base64.split(',')[1]); //base64 解码  var arrayBuffer = new ArrayBuffer(byteSt.length); //创建缓冲数组  var intArray = new Uint8Array(arrayBuffer); //创建视图  for(var i = 0; i 


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3