快速解决Canvas.toDataURL 图片跨域的问题

网友投稿 218 2023-07-17


快速解决Canvas.toDataURL 图片跨域的问题

如题,在将页面的图片地址进行本地输出时(Html2Canvas.js),因不同源存在跨域问题,会出现toDataURL访问权限问题:

【Redirect at origin 'http://sub1.xx.com' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://sub2.xx.com' is therefore not allowed access.】

解决方案:

根据错误分析需要在控制头增加“Access-Control-Allow-Origin”,即允许访问源文件权限,那么我们对这个页面【注意是要输出页面的图片】这样处理:

var img = new Image;

img.onload = myLoader;

img.crossOrigin = 'anonymous'; //可选值:anonymous,*

img.src = 'http://myurl.com/....';

或者是HTML中

核心是请求头中包含了 Origin: "anonymous"或"*" 字段,响应头中就会附加上 Access-Control-Allow-Origin: * 字段,问题解决。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Web Uploader文件上传插件使用详解
下一篇:bootstrap网页框架的使用方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~