獲取奇怪的錯誤。Google Storage API - 可恢復上傳,AJAX,CORS錯誤
當用戶想要上傳文件時,他們會向我的服務器發送一個AJAX請求。我的服務器使用OAuth2向服務器端認證服務器端,創建訪問令牌,開始可恢復的上傳,並將可恢復的上傳URI和訪問令牌傳遞給瀏覽器。
然後,瀏覽器直接上傳到Google Storage。
一切似乎都很好。該文件到達存儲桶沒有問題,但我仍然在Chrome上收到CORS錯誤,我不確定在哪裏或爲什麼。下面是我的javascript代碼的簡化版本:
var file = document.getElementById("fileInput").files[0];
var request = requestUpload();
var token = request.token;
var uri = request.uri;
var r = new XMLHttpRequest();
r.open('PUT', uri, true);
r.setRequestHeader("Authorization", "Bearer "+token);
r.send(file);`
相當簡單 - 但我仍然得到這個常見的錯誤:
XMLHttpRequest cannot load https://www.googleapis.com/upload/storage/v1/b/*****. No 'Access-Control-Allow-Origin' header is present on the requested resource.
儘管這似乎是完全正常的事實。 Javascript是否請求查看某些我不被允許的內容?我想不要有錯誤。
XMLHttpRequest對象在所有內容完成上傳後還會觸發錯誤事件。我猜這個請求正在期待Google的反饋,它沒有得到,JavaScript正在成爲JavaScript的拉丁語,所以我發現的大部分討論都是關於jQuery的。
非常感謝!
嗨@克雷格,你有沒有在最後一塊這個問題?如果你這樣做了,你是如何解決它的:http://stackoverflow.com/questions/34832640/google-storage-doesnt-send-cors-headers-for-final-chunk-in-resumable-upload – janesconference 2016-01-16 22:28:37