js将base64图片保存本地

我不是女神ヾ 2023-10-02 11:26 102阅读 0赞

js将后端传输来的base64编码图片解析,并保存本地

下面就是代码部分:

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  4. <title>base64编码图片解析</title>
  5. <script type="text/javascript">
  6. function BrowseFolder() {
  7. var eventPayload ={
  8. "content": "iVBORw0KGgo………………Plpg==",
  9. //图片base64格式太多,此处省略。不包含前缀:data:image/png;base64,
  10. "fileName": "12346190010jpg.png",
  11. "imageType": "png"
  12. };
  13. console.log(eventPayload)
  14. var content=eventPayload.content;
  15. var imageType=eventPayload.imageType;
  16. var fileName=eventPayload.fileName;
  17. console.log('fileName');
  18. if(content){ // 接口返回的数据部分
  19. // 解析图片
  20. // 因接口直接返回了base64代码部分,所以不需要截取,如果含"data:image/png;base64," 则需要自己做截取处理
  21. var raw = window.atob(content);
  22. var rawLength = raw.length;
  23. var uInt8Array = new Uint8Array(rawLength);
  24. for(var i = 0; i < rawLength; ++i) {
  25. uInt8Array[i] = raw.charCodeAt(i);
  26. }
  27. var blob = new Blob([uInt8Array], {type:'image/'+imageType});
  28. //保存图片
  29. var aLink = document.createElement('a');
  30. var evt = document.createEvent("HTMLEvents");
  31. evt.initEvent("click", true, true);
  32. aLink.download = fileName;
  33. aLink.href = URL.createObjectURL(blob);
  34. aLink.click();
  35. } else{
  36. console.log('没有base64代码');
  37. }
  38. }
  39. </script>
  40. </head>
  41. <body>
  42. <p>js将后端传输的base64格式的图片直接解析,并保存到本地</p>
  43. <button onclick="BrowseFolder()">2123123124</button>
  44. </body>
  45. </html>

结果:如下图所示,点击保存图片,选择路径,js就会降后端传输的base64格式的图片直接解析,并保存到本地。watermark_type_ZHJvaWRzYW5zZmFsbGJhY2s_shadow_50_text_Q1NETiBA5bCP5LqO5LuZ5a6Y_size_20_color_FFFFFF_t_70_g_se_x_16

发表评论

表情:
评论列表 (有 0 条评论,102人围观)

还没有评论,来说两句吧...

相关阅读