前端如何把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();
   
      }
    });
···
相关推荐
freewlt5 分钟前
企业级前端性能监控体系:从Core Web Vitals到实时大盘实战
前端
研☆香7 分钟前
聊聊什么是AJAX
前端·ajax·okhttp
Freak嵌入式9 分钟前
无硬件学LVGL:基于Web模拟器+MiroPython速通GUI开发—布局与空间管理篇
前端
Southern Wind14 分钟前
我在 Vue3 项目里接入 AI 后,发现前端完全变了
前端·人工智能·状态模式
Bigger15 分钟前
我手搓了一个开源版 Claude Code (mini-cc)
前端·ai编程·claude
qq43569470119 分钟前
JavaWeb03
前端·css·html
Alice-YUE21 分钟前
ai对话平台流式响应输出怎么实现?
前端·笔记·ai·语言模型
一个public的class25 分钟前
前后端 + Nginx + Gateway + K8s 全链路架构图解
前端·后端·nginx·kubernetes·gateway
胡志辉的博客29 分钟前
网络七层到底怎么落到一次前端请求上:从浏览器到网卡,再到远端服务器
服务器·前端·网络
小比特_蓝光30 分钟前
从环境变量到进程地址空间:Linux系统学习笔记
前端·chrome