前端使用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' 

相关内容

热门资讯

盘点十款!推荐宝宝浙江辅助(辅... 您好,推荐宝宝浙江辅助这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
揭秘几款!hh poker透视... 您好:这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌...
透视中牌率!如何提高微乐自建胜... 透视中牌率!如何提高微乐自建胜率,雀友会辅助潮汕麻将脚本,必胜教程(有挂讲解);如何提高微乐自建胜率...
透视游戏!重要科技阿拉斗牌辅助... 透视游戏!重要科技阿拉斗牌辅助(辅助挂)本来有开挂辅助软件(有挂头条)1、重要科技阿拉斗牌辅助系统规...
重大推荐!兴动互娱辅助工具(辅... 重大推荐!兴动互娱辅助工具(辅助挂)往昔有开挂辅助黑科技(有挂工具);亲,有的,ai轻松简单,又可以...
玩家必备科普!竞技联盟辅助插件... 玩家必备科普!竞技联盟辅助插件,竞技联盟透视插件(透视)本然有开挂辅助下载(今日头条)是一款可以让一...
玩家攻略!微乐小程序多乐辅助器... 玩家攻略!微乐小程序多乐辅助器,雀神麻将智能插件开挂,安装教程(有挂教程)是一款可以让一直输的玩家,...
重大消息!决战辅助(辅助挂)切... 重大消息!决战辅助(辅助挂)切实有开挂辅助挂(揭秘有挂)决战辅助是一种具有地方特色的麻将游戏,要想赢...
推荐一款!战神辅助官网(辅助挂... 推荐一款!战神辅助官网(辅助挂)果然有开挂辅助器(有挂细节);是一款可以让一直输的玩家,快速成为一个...
分享实测!aapoker公共底... 分享实测!aapoker公共底牌,cloudpoker透视挂(透视)一贯有开挂辅助插件(有开挂功能)...