zoukankan      html  css  js  c++  java
  • OSS阿里云上传文件 前端js下载url跨域问题

    场景:

    1.后端上传文件至阿里云OSS,返回得到一个URL。

    2.前端用这个URL下载文件,ajax请求异常:No 'Access-Control-Allow-Origin' header is present on the requested resource.

    3.使用html <a> 标签直接可以下载

    分析原因:

    1.js和ajax什么的是看不见的易出错的,需要安全保护,用<a>标签是申请主动请求另外一个域名,浏览器就没有那个策略。

    2.另外其实阿里云OSS也是可以配置的,有个管理页面专门可以配置跨域规则。

    解决方案:

    1.前端直接使用<a>标签,简单有效

    2.去阿里云OSS后台管理界面设置跨域规则。(估计最终就是OSS后端接口会加上response.setHeader("Access-Control-Allow-Origin", "配置的域名");

    3.当然还一些比较丑陋的方案:JSONP之类的等等,上网一搜一大堆。

  • 相关阅读:
    java之数组使用以及拓展
    Java之数组介绍
    方法
    break&continue
    networkmanager is not running 网络管理没有运行
    CentOS-7修改IP
    操作系统
    计算机基础理论
    编码和解码
    pyQuery库
  • 原文地址:https://www.cnblogs.com/dennyzhangdd/p/9042536.html
Copyright © 2011-2022 走看看