zoukankan      html  css  js  c++  java
  • 浏览器 canvas下载图片 网络错误

    在使用html2canvas截取页面的时候发现图片死活保存不到本地,chrome一直报“网络错误”,

    主要出现这个问题是canvas保存图片到本地时各个浏览器像素的限制不同,

    所以将图片数据转换成Blob数据流下载下来就行了。


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    dataURLtoBlob(dataurl) {
            var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
              bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
            while(n--){
              u8arr[n] = bstr.charCodeAt(n);
            }
            return new Blob([u8arr], {type:mime});
          },
          downloadCanvas(){
            var link = document.createElement("a");
            var imgData =canvas.toDataURL({format: 'png', multiplier: 4});
            var strDataURI = imgData.substr(22, imgData.length);
            var blob = this.dataURLtoBlob(imgData);
            var objurl = URL.createObjectURL(blob);
     
            link.download = this.cName+".png";
     
            link.href = objurl;
     
            link.click();
          }.
  • 相关阅读:
    线程的用法
    提高VS2010的性能,VS2010不再卡
    win7 远程桌面最大化快捷键
    java类加载器
    Class类
    JDBC获得oracle数据库主键值
    Zookeeper入门基础知识
    项目js总结
    jdk8 stream项目使用
    全局请求参数去除空格
  • 原文地址:https://www.cnblogs.com/airen123/p/11771548.html
Copyright © 2011-2022 走看看