// 獲取圖片地址並轉碼
var image = new Image();
image.crossOrigin = 'Anonymous';
image.src = ‘http://qqmmsh.oss-cn-hangzhou.aliyuncs.com/apply/6113528861282912.jpg’
image.onload = function(){
var base64 = getBase64Image(image);
initVR(doc,base64);
}
訪問阿里oss圖片一直出現跨域問題。

1.在oss上防盜鏈關閉了,跨域設置都放開了。但還是不行,還是出現跨域問題。
原因是在沒設置之前已經請求過這個圖片,設置后重新請求是直接從cdn緩存中拿的圖片,而cdn緩存了oss未配置cors之前的文件及其頭部,造成客戶端瀏覽器判斷失敗,不允許訪問。所以出現了跨域失敗。
2.往oss上重新上傳一張新圖片,第一次訪問成功,第二次又出現跨域問題
在用戶第一次訪問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


配置完之后,跨域問題就沒有了。