h5使用QRCode生成二维码,以及下载二维码

使用 QRCode 来生成二维码。可以动态地生成包含指定信息的二维码图像。

命令:npm install qrcodejs2 --save

引入:import QRCode from 'qrcodejs2'

  • 生成二维码

  1. 创建二维码:传入要编码的信息(如网址、文本等),然后生成二维码图像数据。

  2. 渲染二维码:将生成的二维码图像数据渲染到页面上的 <canvas> 元素或者直接作为 <img> 元素的 src 属性值。

  3. 使用:

            {/* 用于渲染二维码的容器 */}  
            <div id="qrcode" ref={ref => this.qrcode=ref}></div>
    
              <div onClick={()=>{
                  this.qrcode.innerHTML = ''
                  var res = new QRCode('qrcode', {
                    width: 140,
                    height: 140,
                    text: 'https://www.baidu.com/'
                  })
                  console.log(res,this.qrcode)
              }}>生成二维码</div>
  • 下载二维码

  1. 将二维码转换为图像格式:如果使用 <canvas> 元素来呈现二维码,可以通过 toDataURL 方法将其转换为图像数据 URL。

  2. 创建下载链接:使用 JavaScript 创建一个 <a> 元素,并设置它的 href 属性为二维码的数据 URL,同时设置 download 属性为你想要保存的文件名。

  3. 触发下载:通过 JavaScript 触发点击 <a> 元素的事件,从而实现下载。

  4. 使用:

                <div onClick={()=>{
                    const canvas = document.querySelector('canvas');
                    if (canvas) {
                        // 获取二维码的 Base64 数据
                        const imageData = canvas.toDataURL('image/png');
                        
                        // 创建一个虚拟的下载链接并点击它来下载图片
                        const link = document.createElement('a');
                        link.href = imageData;
                        link.download = 'qrcode.png';
                        document.body.appendChild(link);
                        link.click();
                        document.body.removeChild(link);
                    }
                }}>下载二维码</div>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值