html5中由Canvas引入跨域图片导致toDataURL()报错如何解决
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"html5中由Canvas引入跨域图片导致toDataURL()报错如何解决"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"html5中由Ca
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
花魁咖啡
天津市摩尔互联网科技
深圳九邦互联网科技有限公司
互联网科技网
科技金融是不是互联网金融
互联网扶贫科技
科技类互联网
科技与互联网发展
万易互联网科技有限公司
奇酷互联网络科技公司
融势互联网科技
国外互联网科技网站
顺网科技2021年互联网排名
老年人脱离互联网科技的作文
北京华百购互联网科技有限公司
互联网金融科技展
徐州市互联网科技有限公司
35岁以上互联网科技行业
昆明中奇联合互联网科技
数字科技和互联网金融哪个好
互联网与科技
深圳九邦互联网科技有限公司
科技与互联网
互联网科技英文
艾特科技互联网
美国互联网黑科技
互联网科技ppt模板
融贸通互联网科技
丰台科技园 互联网公司
广州富喜互联网络科技