前端使用html2canvas在页面截图并导出,以及截图中含有图片时的跨域问题解决
创始人
2024-11-14 18:04:39
0

1.引入html2canvas

npm 安装或cdn引入

npm install html2canvas   

2.使用 html2canvas

// 假设你有一个 id 为 "capture" 的元素   html2canvas(document.querySelector("#capture")).then(canvas => {       // canvas 是转换后的 canvas 元素       // 你可以将 canvas 转换为图片,然后添加到 DOM 中       document.body.appendChild(canvas);          // 或者,将 canvas 转换为图片 URL 并显示在 img 元素中       var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");       var link = document.createElement('a');       link.download = 'screenshot.png';       link.href = image;       link.click();   });

3.图片跨域时的解决方法

1.服务器CORS配置:

        图片所在服务器设置Access-Control-Allow-Origin: * 或 Access-Control-Allow-Origin: 你的域名 的头部。

        注意,出于安全考虑,许多服务器默认不允许跨域请求。

2.设置开发服务器代理,以vue项目为例:

        在vue.config.js中配置

// vue.config.js   module.exports = {     devServer: {       proxy: {        '/file': {           target: 'http://155.60.114.72:88545'//图片所在地址,           changeOrigin: true,           pathRewrite: {             '^/file': ''           }         }       }     }   }

        在你的Vue组件中,你应该将图片URL更改为通过代理访问的URL

let img = '/file/7df46603b38d49af94cefb4c92d5cd27.jpg' 

相关内容

热门资讯

透视新版(WpK)微扑克ai辅... 透视新版(WpK)微扑克ai辅助器苹果版(透视)详细辅助2025新版技巧(确实真的是有挂)1)微扑克...
透视实锤(aapokeR)aa... 透视实锤(aapokeR)aapoker透视辅助(透视)本来真的是有挂(详细辅助玩家教你)1、该软件...
透视科技!德州ai人工智能,(... 透视科技!德州ai人工智能,(wepower德州)本来真的是有挂(详细辅助攻略教程);1、在德州ai...
透视ai(aapOker)aa... 透视ai(aapOker)aapoker俱乐部(透视)都是存在有挂(详细辅助2025新版教程)1、起...
透视教程!德扑数据软件,(德州... 透视教程!德扑数据软件,(德州app)总是存在有挂(详细辅助我来教教你);1、操作简单,无需注册,只...
透视系统(wPK)微扑克辅助机... 透视系统(wPK)微扑克辅助机器人(透视)详细辅助曝光教程(一直真的有挂)1、操作简单,无需注册,只...
透视实锤(AaPOKER)aa... 透视实锤(AaPOKER)aapoker透视辅助(透视)都是存在有挂(详细辅助曝光教程)1、进入到a...
透视辅助!德州之星有辅助挂,(... 透视辅助!德州之星有辅助挂,(德州wpk)总是是有挂(详细辅助安装教程)1、每一步都需要思考,不同水...
透视ai(WPk)微扑克全自动... 透视ai(WPk)微扑克全自动机器人(透视)详细辅助力荐教程(一贯是有挂)1、实时微扑克全自动机器人...
透视透视挂(AAPOker)a... 透视透视挂(AAPOker)aapoker挂(透视)竟然有挂(详细辅助我来教教你)1、aapoker...