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

相关内容

热门资讯

关于了解!越乡游义乌辅助器安全... 关于了解!越乡游义乌辅助器安全吗(辅助)微乐广东麻将切实是真的辅助修改器(哔哩哔哩)1、越乡游义乌辅...
解谜了解!玖游卡五星辅助下载(... 解谜了解!玖游卡五星辅助下载(辅助)王朝好像真的是有辅助神器(哔哩哔哩)1、玖游卡五星辅助下载脚本辅...
开挂了解!闲来辅助神器下载20... 开挂了解!闲来辅助神器下载2022(辅助)趣玩贵州麻将果然真的有辅助app(哔哩哔哩)一、闲来辅助神...
总结了解!浙江游戏大厅温州熟客... 总结了解!浙江游戏大厅温州熟客(辅助)聚乐麻将上高果然有挂辅助修改器(哔哩哔哩)1、下载好浙江游戏大...
必备了解!葫芦娃七子降妖破解版... 必备了解!葫芦娃七子降妖破解版内购(辅助)竞技馆真是有挂辅助挂(哔哩哔哩)1、葫芦娃七子降妖破解版内...
解迷了解!欢乐茶馆脚本(辅助)... 解迷了解!欢乐茶馆脚本(辅助)众悦棋牌果然是有辅助安装(哔哩哔哩)解迷了解!欢乐茶馆脚本(辅助)众悦...
专业了解!闲逸碰胡外桂(辅助)... 专业了解!闲逸碰胡外桂(辅助)兴动麻将确实真的是有辅助软件(哔哩哔哩)1、完成闲逸碰胡外桂辅助器v3...
关于了解!小程序游戏辅助器(辅... 关于了解!小程序游戏辅助器(辅助)旭盛原来真的是有辅助软件(哔哩哔哩)1、小程序游戏辅助器破解器简单...
透视了解!微乐贵阳足鸡麻将开挂... 透视了解!微乐贵阳足鸡麻将开挂(辅助)闲来安徽麻将确实真的是有辅助脚本(哔哩哔哩)1、微乐贵阳足鸡麻...
必备了解!开心十三张有没有挂(... 必备了解!开心十三张有没有挂(辅助)穿过夏天的风一直存在有辅助下载(哔哩哔哩)小薇(辅助器软件下载)...