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之類的等等,上網一搜一大堆。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM