设置跨域规则后调用OSS时仍然报“No 'Access-Control-Allow-Origin'”的错误

查了一堆,都说开了cdn的问题,问题是没开啊

找了很多很多文章,大部分都是说配置,以下总结几个原因

1.oss跨越规则设置(ps:多半都不会是这个原因…)

在这里插入图片描述

2.开了cdn,(ps:估计很多人也不会这个原因)

(转):在用户第一次访问cdn,cdn会检查数据没有,回源到源站进行访问。源站对比将数据经过cdn反馈给客户端浏览器。浏览器比对Access-Control-Allow-Origin 后,允许正确,所以跨域正常。 当第二个用户访问时,cdn检测有这个文件,所以会直接给客户端反馈缓存页面。由于CDN之所以失败是因为CDN缓存了OSS未配置cors之前的文件及其头部,造成客户端浏览器判断失败,不允许访问。所以出现了跨域失败。
解决办法:
CDN直接提供了Access-Control-Allow-Origin、Access-Control-Allow-Methods、Access-Control-Max-Age
在这里插入图片描述

3. 这 里 最 可 能 的 一 个 原 因 − 浏 览 器 缓 存 导 致 \color{#FF0000}{这里最可能的一个原因 - 浏览器缓存导致}

博主用了canvas读取图片,第一个正常,第二个图片就报跨域错误???
1. js里面设置 crossOrigin = anonymous (具体写在哪,写在你读取图片对象的位置,怎么写百度去吧)
2.你直接在oss图片链接后面加 time=时间戳 的参数,这样就可以让图片每次都读取oss了
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值