热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

html2canvas图片跨域无法加载的问题

最近有个项目,需要截图,想到截图就想到canvas,想到canvas就想到html2canvas。。。问题:无法截取图片&

最近有个项目,需要截图,想到截图就想到canvas,想到canvas就想到html2canvas。。。


问题:无法截取图片,有图片的直接空白了。


原因:经过观察研究发现,canvas在调用drawImage方法的时候,是会受到浏览器同源策略限制的。


解决方法:前端设置useCORS为true,后端将图片设置允许跨域共享(即相应头里面要带上access-control-allow-origin)

遇到这种问题,我很淡定,作为一个成熟的库,这么常见的问题肯定是有解决策略的。翻开官网,找到了这两个参数:
在这里插入图片描述
但是不管我怎么弄,加一个还是都加上,都不起作用。有点慌。。。
只能看下网友是怎么解决的了。
有说转base64的,但最后发现绕不开drawImage。
还有就是用useCORS,这个官网也有写:
在这里插入图片描述
但加上也没有作用。最后发现,这是需要后端配合使用的。要让这个参数生效,请求的图片必须带有下面这个字段:
在这里插入图片描述
最后,问题解决了,还是绕不开后端。

跨域资源共享 (CORS)


推荐阅读
  • loader资源模块加载器webpack资源模块加载webpack内部(内部loader)默认只会处理javascript文件,也就是说它会把打包过程中所有遇到的 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 开发网站你需要知晓的部分专用术语
      越来越多的企业和个人都在拥有属于自己的网站门户,首当其冲的就是你得知晓几个网站方面的专业术语,先是中就有好多的客户不明白这些,造成误会是正常的,那不如我们对它有个大致的了解,这样就不容易感觉 ... [详细]
  • 新闻发布系统 需求分析
    1做一个网站的步骤清楚需求和大概的效果(登录主题新增查看主题列表)2清楚数据库和结构3需要静态资源(htmlcss图片)登录表用户表主题表新闻的id主 ... [详细]
  • WebBrowser控件(1)
    WindowsPhone7内置了一个强大的网络浏览器,该浏览器的内核是基于桌面版的InternetExplorer7(Mango版基于InternetE ... [详细]
  • NickLa制作了另伟大的教程。NickLa向我们展示了如何装饰,而无需编辑源图像的图像和照片画廊。诀窍是很简单。所有你需要的是一个额外的标签和应用背景图像创建的叠加 ... [详细]
  • 本文实例讲述了jQueryajax实现滚动到页面底部自动加载图文列表效果。分享给大家供大家参考,具体如下:phttp:www.w3.orgTRxht ... [详细]
  • 目录结构如下:Nginx基础知识NginxHTTP服务器的特色及优点Nginx的主要企业功能Nginx作为web服务器的主要应用场景包括:Nginx的安装安装环境 ... [详细]
  • 史上最全的Websocket入门教程
    websocket是什么?答:它是一种网络通信协议,是HTML5开始提供的一种在单个TCP连接上进行全双工通讯的协议。为什么需要websocket?疑问?我 ... [详细]
  • css 横线_必看!用CSS命令绘制常用小图标,手把手教你操作
    在web开发中,我们经常要用到一些小图标(加减勾叉等)。通常做法就两种:1、直接使用图片;2、使用csssvg直接在浏览器中绘制图标&#x ... [详细]
  • 本文主要讨论了如何通过已知图片的base64流将图片上传到文件服务器并返回URL的问题。通过模拟文件上传过程,成功解决了该问题。然而,在返回的URL中出现了一个名为blob的文件,作者对于该文件的具体含义以及base64转blob格式的意义有所困惑。本文将对这些问题进行探讨和解答。 ... [详细]
  • 七牛的上传图片中,php如何上传base64的图片 ... [详细]
  • 【Python 爬虫】破解按照顺序点击验证码(非自动化浏览器)
    #请求到验证码base64编码json_img_datajson_raw.get(Vimage)#获取到验证码编码 #保存验证码图片到本地defbase64_to_img(bstr ... [详细]
  • DDOSDDOS的中文名叫分布式拒绝服务***,俗称洪水***DDoS***概念DoS的***方式有很多种,最基本的DoS***就是利用合理的服务请求来 ... [详细]
  • EasyRecovery2023重新找回丢失的文件数据恢复软件
    OntrackEasyRecovery2023易恢复一款数据文件恢复软件,号称最好的数据恢复软件!可以全面恢复删除丢失数据,能对电脑误删文 ... [详细]
author-avatar
手机用户2502941293
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有