html5中由Canvas引入跨域图片导致toDataURL()报错如何解决
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"html5中由Ca
千家信息网最后更新 2025年02月01日html5中由Canvas引入跨域图片导致toDataURL()报错如何解决
这篇文章主要介绍"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"文章能帮助大家解决问题。
【场景】
用户打开网页,则请求腾讯COS(图片服务器)上的图片。使用canvas绘图。
然后,用户可以重新选择图片、裁剪、上传。
【问题】
图片首次载入,选择新图片后裁剪、绘制都没有问题。但上传失败,报错如下:
Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported.
经过了解,需要在图片首次引用时,设置crossOrigin
字段:
var c=document.getElementById("cover_show"); var img=new Image(); img.src="http://vsqx-cover-xxxxxx.coscd.myqcloud.com/"+this.vsqx_uid+".jpg"; //增加这一行: img.setAttribute("crossOrigin",'anonymous'); img.onload = function(){ var cxt=c.getContext("2d"); cxt.drawImage(img,0,0,300,150,0,0,200,126); }
然后再次运行。发现图片首次载入时,不显示了。
控制台报错:
【最终解决方法】
登录腾讯云COS,找到这个储存桶,设置"跨域访问CORS"。(其他PHP/JAVA服务器同理)
再次测试:图片显示成功,图片上传成功。
关于"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图片
知识
问题
成功
再次
方法
服务器
用户
行业
腾讯
服务
选择
不同
实用
一行
内容
场景
字段
实用性
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
mc基岩版服务器纯生存
软件开发合同做账
工控网络安全现状问题措施
svn 服务器 修改密码
十四五期间网络安全
软件开发测试文档
联想投资软件开发
河北互联网科技公司
网络技术三级的分数组成
数据库的中间库
网络安全服务需要会什么
联想服务器raid1
华为服务器选哪家
CT软件开发
数据库表创建
软件开发上传
惠州巧雇网络技术有限公司
微信数据库修复失败登录不了
乾县国家网络安全宣传活动
数据库时间格式几种
c语言只适应于系统软件开发
服务器可以当电脑用吗
为何无法连接adobe服务器
吉林综合软件开发管理模式
服务器连接bmc
网络安全工作自查自纠小结
36岁学软件开发怎么样
化学物质数据库app
奇虎360网络安全运维
宝鸡软件开发公司国企有哪些