zoukankan      html  css  js  c++  java
  • 用前端将链接转为二维码,并下载

    <script src="js/jquery.js"></script>
    <script src="js/jquery.min.js"></script>
    <script src="js/qrcode.js"></script>

    <script type="text/javascript">
    // alert("111");

    var qrcode=new QRCode(document.getElementById('qrcode'), "https://z.jd.com/bigger/search.html");
    var imgs = document.getElementById("qrcode").getElementsByTagName("img")[0]
    console.log(imgs)
    window.onload=function(e){
    console.log(imgs.src)
    var picName=imgs.src;
    download(picName);
    }
    //下载图片
    function download(picName) {
    let imgData = picName;//这里放需要下载的base64
    this.downloadFile('测试.png', imgData);
    }
    //下载
    function downloadFile(fileName, content) {
    let aLink = document.createElement('a');
    let blob = this.base64ToBlob(content); //new Blob([content]);

    let evt = document.createEvent("HTMLEvents");
    evt.initEvent("click", true, true);//initEvent 不加后两个参数在FF下会报错 事件类型,是否冒泡,是否阻止浏览器的默认行为
    aLink.download = fileName;
    aLink.href = URL.createObjectURL(blob);

    // aLink.dispatchEvent(evt);
    aLink.click()
    }
    //base64转blob
    function 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});
    }
    </script>

  • 相关阅读:
    设计模式第一次练习
    区间最大数
    魔方数
    螺旋数
    回文串
    最长单词
    指针的应用之学生成绩
    赛马
    突击队任务
    贪婪之骑士
  • 原文地址:https://www.cnblogs.com/wth21-1314/p/10132423.html
Copyright © 2011-2022 走看看