vue保存图片到本地

首先呢我们要,安装一下依赖;

npm install html2canvas --save

接下来我们就直接上代码了

 <van-tab title="签到二维码">
        <div class="QRCode-box">
          <!-- /static/images/QRCode-box.png -->
          <van-image src="/static/images/QRCode-box.png" />
          <van-image id="imageWrapper" class="QRCode" src="/static/images/QRCode-box.png" />
          <van-button color="#29c37f" type="info" @click="toSave">保存二维码到手机</van-button>
        </div>
</van-tab>

 

 // 点击保存
    toSave () {
      html2canvas(document.getElementById("imageWrapper")).then(canvas => {
        let saveUrl = canvas.toDataURL('image/png')
        let aLink = document.createElement('a')
        let blob = this.base64ToBlob(saveUrl)
        let evt = document.createEvent('HTMLEvents')
        evt.initEvent('click', true, true)
        aLink.download = '二维码.jpg'
        aLink.href = URL.createObjectURL(blob)
        aLink.click()
        console.log(aLink.href)
        if (aLink.href) {
          Toast.success('保存成功')
        }
      })
    },
    // 这里把图片转base64
    base64ToBlob (code) {
      let parts = code.split(';base64,')
      let contentType = parts[0].split(':')[1]
      let raw = window.atob(parts[1])
      let rawLength = raw.length
      let uInt8Array = new Uint8Array(rawLength)
      for (let i = 0; i < rawLength; ++i) {
        uInt8Array[i] = raw.charCodeAt(i)
      }
      return new Blob([uInt8Array], { type: contentType })
    },
  }

以上vue就可以实现保存图片到本地了

 

喜欢上方小程序,需要源码的,私信小编留下邮箱。

  • 10
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端_李嘉豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值