查看: 378|回复: 0

[文章教程] 点击自动保存base64代码的图片,比如:二维码

[复制链接]
xuanxiao 发表于 2023-1-20 18:20:48 | 显示全部楼层 |阅读模式
二维码生成自己处理好,然后就可以了


  1. function BrowseFolder() {  
  2. var img = document.getElementById("testImg").src;
  3. //console.log(img);
  4. img=img.replace("data:image/png;base64,","")
  5. //return false;

  6. var eventPayload ={
  7.         "content": img,
  8.         //图片base64格式太多,此处省略。不包含前缀:data:image/png;base64,
  9.         "fileName": "分享.png",
  10.         "imageType": "png"
  11.     };

  12.     console.log(eventPayload)
  13.     var content=eventPayload.content;
  14.     var imageType=eventPayload.imageType;
  15.     var fileName=eventPayload.fileName;
  16.     console.log('fileName');
  17.     if(content){ // 接口返回的数据部分
  18.                  // 解析图片
  19.                  // 因接口直接返回了base64代码部分,所以不需要截取,如果含"data:image/png;base64," 则需要自己做截取处理
  20.                  var raw = window.atob(content);
  21.                  var rawLength = raw.length;
  22.                  var uInt8Array = new Uint8Array(rawLength);
  23.                  for(var i = 0; i < rawLength; ++i) {
  24.                      uInt8Array[i] = raw.charCodeAt(i);
  25.                  }
  26.          var blob = new Blob([uInt8Array], {type:'image/'+imageType});
  27.                  //保存图片
  28.          var aLink = document.createElement('a');
  29.          var evt = document.createEvent("HTMLEvents");
  30.          evt.initEvent("click", true, true);
  31.          aLink.download = fileName;
  32.          aLink.href = URL.createObjectURL(blob);
  33.          aLink.click();
  34.      } else{
  35.          console.log('没有base64代码');
  36.      }
  37. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号