您现在的位置是:网站首页> 编程资料编程资料
Canvas引入跨域的图片导致toDataURL()报错的问题的解决详解如何解决canvas图片getImageData,toDataURL跨域问题详解canvas绘图时遇到的跨域问题
2023-10-12
657人已围观
简介 这篇文章主要介绍了Canvas引入跨域的图片导致toDataURL()报错的问题的解决的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文介绍了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页面点击按钮后出现闪烁或黑色背景的解决办法 移动端Html5中百度地图的点击事件HTML5实现移动端点击翻牌功能
- 详解如何解决canvas图片getImageData,toDataURL跨域问题详解canvas绘图时遇到的跨域问题
- html5 canvas的绘制文本自动换行的示例代码html内容超出了div的宽度如何换行让内容自动换行html、css 禁止文字自动换行属性word-breakhtml中div不自动换行、强制不换行的具体实现html pre标签使文本自动换行 html pre标记里内容自动换行如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
- html5使用canvas压缩图片的示例代码利用canvas实现图片压缩的示例代码Canvas与图片压缩的示例代码html5 canvas移动浏览器上实现图片压缩上传canvas压缩图片以及卡片制作的方法示例
- canvas像素点操作之视频绿幕抠图HTML5 Canvas 破碎重组的视频特效的示例代码前端canvas动画如何转成mp4视频的方法video结合canvas实现视频在线截图功能canvas绘制视频封面的方法详解基于canvas的视频遮罩插件canvas与html5实现视频截图功能示例Canvas获取视频第一帧缩略图的实现
- HTML5中使用json对象的实例代码基于HTML5的WebGL实现json和echarts图表展现在同一个界面Html5中localStorage存储JSON数据并读取JSON数据的实现方法举例详解HTML5中使用JSON格式提交表单
- html5 figure和figcaption的使用方法html5实现点击弹出图片功能html5 录制mp3音频支持采样率和比特率设置html5表单的required属性使用html5调用摄像头实例代码HTML5页面音频自动播放的实现方式Html5大屏数据可视化开发的实现html实现弹窗的实例HTML5来实现本地文件读取和写入的实现方法HTML 罗盘式时钟的实现HTML5简单实现添加背景音乐的几种方法
- 星空的魅力 百万亚瑟王新版本闪亮来袭_手机游戏_游戏攻略_
- 神界战争爆发《百万亚瑟王》国服新倍卡一览表_手机游戏_游戏攻略_
- 百万亚瑟王国服12月1日版本更新公告通知_手机游戏_游戏攻略_
