Bootstrap

h5 base64 转成文件 下载(支持各种文件)

savePicture(base64) {
      // var arr = base64.split(','); 判断有没有 包含base64这样子的字段在里面 
      // var bytes = atob(arr[1]);
      var bytes = atob(base64);
      let ab = new ArrayBuffer(bytes.length);
      let ia = new Uint8Array(ab);
      for (let i = 0; i < bytes.length; i++) {
        ia[i] = bytes.charCodeAt(i);
      }
      var blob = new Blob([ab], { type: 'application/octet-stream' });
      var url = URL.createObjectURL(blob);
      var a = document.createElement('a');
      a.href = url;
      a.download = new Date().valueOf() + ".pdf";
      a.click();
    }

H5页面与APP端、小程序端有所不同,其没有操作本地文件的权限,因此保存图片功能需要“下载”来支持。

一般我们通过canvas等功能生成的图片都是base64格式的。我们需要
1.将base64解码转换成blob对象
2.将blob对象封装到a标签中置入页面
3.模拟点击这个a标签触发下载请求

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;