前端如何把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();
   
      }
    });
···
相关推荐
wearegogog1231 天前
基于 MATLAB 的卡尔曼滤波器实现,用于消除噪声并估算信号
前端·算法·matlab
Drawing stars1 天前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
品克缤1 天前
Element UI MessageBox 增加第三个按钮(DOM Hack 方案)
前端·javascript·vue.js
小二·1 天前
Python Web 开发进阶实战:性能压测与调优 —— Locust + Prometheus + Grafana 构建高并发可观测系统
前端·python·prometheus
小沐°1 天前
vue-设置不同环境的打包和运行
前端·javascript·vue.js
qq_419854051 天前
CSS动效
前端·javascript·css
烛阴1 天前
3D字体TextGeometry
前端·webgl·three.js
桜吹雪1 天前
markstream-vue实战踩坑笔记
前端
C_心欲无痕1 天前
nginx - 实现域名跳转的几种方式
运维·前端·nginx
花哥码天下1 天前
恢复网站console.log的脚本
前端·javascript·vue.js