前端如何把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();
   
      }
    });
···
相关推荐
java1234_小锋3 小时前
【技术专题】HTML5 网页技术 - HTML5 列表标签
前端·html·html5
强二小哥帅4 小时前
Kotlin 协程复习笔记
前端
不可能片场4 小时前
工程实践 原子替换改了 ctime 怎么修
前端·electron
暧暧内含光4 小时前
HTTP 文件传输体系全解:从协议标头、OSS 架构到流媒体分片
前端
静默回滚4 小时前
浏览器能显示AVIF,却导不出一张AVIF
前端
小皮虾4 小时前
小程序全局状态还能这么简单?只需初始化一次,页面自动同步
前端·javascript·微信小程序
用户818618028004 小时前
RESTful API 设计规范与版本演进
前端
补码缩写4 小时前
前端AVIF编码开多线程快两三倍,speed调到8就不快了
前端
cidy_984 小时前
企业级 AI Agent 工作台前端实战教程
前端
deli0074 小时前
换个 DNS 网速真的变快吗?解析 6 步逐跳实测,快慢差 45 倍
前端