前端如何把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();
   
      }
    });
···
相关推荐
奋斗猿7 小时前
从0到1开发跨平台桌面应用:Electron 实战全指南
前端·electron
之恒君7 小时前
script 标签中的 async 和 defer 的区别
前端·javascript
浪浪山_大橙子7 小时前
使用Electron+Vue3开发Qwen3 2B桌面应用:从想法到实现的完整指南
前端·人工智能
狗哥哥7 小时前
聊聊设计模式在 Vue 3 业务开发中的落地——从一次代码重构说起
前端·架构
shenzhenNBA8 小时前
如何在python文件中使用日志功能?简单版本
java·前端·python·日志·log
掘金泥石流8 小时前
分享下我创业烧了 几十万的 AI Coding 经验
前端·javascript·后端
用户47949283569158 小时前
JavaScript 为什么选择原型链?从第一性原理聊聊这个设计
前端·javascript
new code Boy8 小时前
vscode左侧栏图标及目录恢复
前端·javascript
唐诗8 小时前
Git提交信息太乱?AI一键美化!一行命令拯救你的项目历史🚀
前端·ai编程
涔溪8 小时前
有哪些常见的Vite插件及其作用?
前端·vue.js·vite