html5中由Canvas引入跨域图片导致toDataURL()报错如何解决
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,这篇文章主要介绍"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"html5中由Ca
千家信息网最后更新 2025年11月11日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安全错误
数据库的锁怎样保障安全
互联网公司科技属性
设计数据库的步骤分为哪六个极端
安全实时数据库
手机连接打印服务器如何打印
数据库与逆向工程
分析型数据库mysql版
信息网络安全绘画男生
如何选择seo网站服务器
可以检索标准文献的数据库或系统
数据库基础概念
武汉网络安全大厦
ibm服务器 硬件 监控
中级运维需要管理多少台服务器
网络安全手抄报小学生手机
数据库创建日期约束表达式
全国网络安全员法制和安全
amazon 2019 服务器
长江文物数据库
电信的网络安全类型
服务器怎么发送语音
阿里云服务器4核和8核速度区别
鸿宇网络技术公司
数据库基础概念
上海沪镜网络技术有限公司
数据库就是储存数据的仓库
声音下载软件开发
十年软件开发想转测试
服务器1u 等于多少
华为云服务器和腾讯云服务器
网络安全文明家园