has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘ 前后端共同解决跨域问题

经过多次遇到坑,找了很多资料,有nginx配置,前端页面添加,等但是这些都没有解决遇到问题,下面是本人遇到的情况并解决步骤过程,希望看到对你有所帮助:

开发页面需要使用canvas处理图片,就报错跨域:

 

解决过程:
1:通过查询诸多资料:nginx代理配置域名新增(这个是大部分建议的结果):

   location ^~ /third_image/ {
              add_header 'Access-Control-Allow-Origin' "$http_origin" always;
              add_header 'Access-Control-Allow-Credentials' 'true' always;
              add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;
              add_header 'Access-Control-Allow-Headers' 'Accept,Authorization,Cache-Control,Content-Type,DNT,If-Modified-  Since,Keep-Alive,Origin,User-Agent,X-Requested-With' always;
              proxy_pass  图片路径地址;  //例如:https://image.XXX.com/
       }

配置了之后,前端读取还是一样的效果不可以,提示跨域问题,没有效果,没有解决,

2种设置情况在前端页面直接加 crossOrigin="anonymous"

以上这种情况也还是不能解决图片跨域的问题出现,

3:第三种情况是直接在js,中 img.setAttribute('crossOrigin', 'anonymous') 设置之后终于可以实现解决方案,

成功转成base64

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值