前端如何把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();
   
      }
    });
···
相关推荐
葡萄城技术团队5 分钟前
在数据录入、指标补录、表单填报场景中,SpreadJS 具备哪些优势和价值
前端
孟陬20 分钟前
AI 每日心得——AI 是效率杠杆,而非培养对象
前端
漆黑骑士31 分钟前
Web Component
前端
San3033 分钟前
深入理解 JavaScript 事件机制:从事件流到事件委托
前端·javascript·ecmascript 6
行走在顶尖37 分钟前
基础随记
前端
Sakura_洁1 小时前
解决 el-table 在 fixed 状态下获取 dom 不准确的问题
前端
best6661 小时前
Vue3什么时候不会触发onMounted生命周期钩子?
前端·vue.js
best6661 小时前
Javascript有哪些遍历数组的方法?哪些不支持中断?那些不支持异步遍历?
前端·javascript·面试
特级业务专家1 小时前
Chrome DevTools 高级调试技巧:从入门到真香
前端·javascript·浏览器
爱学习的程序媛1 小时前
【Web前端】Angular核心知识点梳理
前端·javascript·typescript·angular.js