Errore strano.API di archiviazione di Google - Upload ripristinabile, AJAX, errore CORS
Quando un utente desidera caricare un file, invia una richiesta AJAX al mio server. Il mio server esegue l'autenticazione lato server con OAuth2 ai server di Google, crea un token di accesso, avvia un caricamento ripristinabile e passa l'URI di caricamento ripristinabile e il token di accesso al browser.
Quindi, il browser viene caricato direttamente su Google Storage.
Tutto sembra andare bene. Il file arriva al bucket di archiviazione senza problemi, ma sto ancora ricevendo un errore CORS su Chrome e non sono sicuro di dove o perché. Ecco una versione semplificata del mio codice 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);`
Abbastanza semplice-ma sto ancora ricevendo questo errore comune:
XMLHttpRequest cannot load https://www.googleapis.com/upload/storage/v1/b/*****. No 'Access-Control-Allow-Origin' header is present on the requested resource.
Nonostante il fatto che sembra essere completamente funzionale. Il Javascript sta chiedendo di vedere qualcosa che non sono autorizzato a fare in modo predefinito? Mi piacerebbe non avere errori.
L'oggetto XMLHttpRequest attiva anche un evento di errore dopo che è stato completato il caricamento di tutto. Sto indovinando che la richiesta si aspetta un qualche tipo di feedback da Google che non sta ottenendo e JavaScript sta diventando il latino di JavaScript, quindi la maggior parte della discussione che ho trovato riguarda jQuery.
Grazie mille!
Ciao @Craig, hai riscontrato questo problema sull'ultimo blocco? Se l'hai fatto, come hai risolto ?: http://stackoverflow.com/questions/34832640/google-storage-doesnt-send-cors-headers-for-final-chunk-in-resumable-upload – janesconference