前端如何把HTML转成图片再下载

需求:后端给了几张图片,让你自己重新组装成html,然后下载到本地,如何实现这一需求?

咱们要用到一个插件html2canvas

大致思路 就是,先把HTML转成canvas,再转成图片,进行下载

1. 官网

2. 下载html2canvas

复制代码
npm install --save html2canvas

3. 使用

复制代码
html2canvas(el).then(function(canvas) {
    document.body.appendChild(canvas);
});

el 是你需要转成图片的根元素

4. 转成图片下载

复制代码
 html2canvas(document.getElementById("capture"), {
      useCORS: true,
      allowTaint: false,
    }).then(function (canvas) {
      let data_base64 = canvas.toDataURL("image/png");
      let blobVal = methodsMap.data_to_blob(data_base64); // 转换为 blob
      let name = "我的名片.png";
      if (window.navigator.msSaveOrOpenBlob) {
        navigator.msSaveBlob(blobVal, name);
      } else {
        var link = document.createElement("a");
        link.setAttribute("href", window.URL.createObjectURL(blobVal));
        link.setAttribute("download", name + ".png");
        document.body.appendChild(link);
        link.click();
   
      }
    });
···
相关推荐
F2E_Zhangmo3 小时前
基于cornerstone3D的dicom影像浏览器 第三章 拖拽seriesItem至displayer上显示第一张dicom
前端·javascript·cornerstone·cornerstone3d·cornerstonejs
gnip8 小时前
Jst执行上下文栈和变量对象
前端·javascript
excel8 小时前
🐣 最简单的卷积与激活函数指南(带示例)
前端
醉方休9 小时前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
拉不动的猪9 小时前
简单回顾下Weakmap在vue中为何不能去作为循环数据源,以及替代方案
前端·javascript·vue.js
How_doyou_do9 小时前
数据传输优化-异步不阻塞处理增强首屏体验
开发语言·前端·javascript
奇舞精选9 小时前
超越Siri的耳朵:ASR与Whisper零代码部署实战指南
前端·人工智能·aigc
奇舞精选9 小时前
Nano Banana 如何为前端注入 AI 控制力
前端·aigc
一支鱼9 小时前
基于 Node.js 的短视频制作神器 ——FFCreator
前端·node.js·音视频开发
DT——9 小时前
前端登录鉴权详解
前端·javascript