Ich versuche, Dateien von Firebase Storage über eine XMLHttpRequest herunterzuladen, aber Access-Control-Allow-Origin ist für die Ressource nicht festgelegt, daher ist dies nicht möglich. Gibt es eine Möglichkeit, diesen Header auf dem Speicherserver festzulegen?
(let [xhr (js/XMLHttpRequest.)]
(.open xhr "GET" url)
(aset xhr "responseType" "arraybuffer")
(aset xhr "onload" #(js/console.log "bin" (.-response xhr)))
(.send xhr)))
Chrome-Fehlermeldung:
XMLHttpRequest kann https://firebasestorage.googleapis.com/[EDITED nicht laden. ] In der angeforderten Ressource ist kein Header 'Access-Control-Allow-Origin' vorhanden. Origin ' http: // localhost: 3449 ' ist daher kein Zugriff gestattet.
Antworten:
Aus diesem Beitrag auf der Firebase-Talk-Gruppe / Liste :
quelle
"origin": ["*"],
anstelle von"origin": ["https://example.com"],
gsutil cors set myjson.json gs://projectname.appspot.com
Google Cloud verfügt jetzt über einen Inline-Editor, der diesen Vorgang noch einfacher macht. Sie müssen nichts auf Ihrem lokalen System installieren.
>_
auf die Symbolschaltfläche in der oberen Navigationsleiste klicken.cors.json
Datei.gsutil cors set cors.json gs://your-bucket
quelle
>_
Ich möchte nur die Antwort ergänzen. Gehen Sie einfach in der Google-Konsole (console.cloud.google.com/home) zu Ihrem Projekt und wählen Sie Ihr Projekt aus. Öffnen Sie dort das Terminal und erstellen Sie einfach die Datei cors.json (
touch cors.json
). Folgen Sie dann der Antwort und bearbeiten Sie diese Datei (vim cors.json
) wie von @ frank-van-puffelen vorgeschlagenDas hat bei mir funktioniert. Prost!
quelle
cloud
Subdomain befinden, nicht in derfirebase
("console.cloud.google.com/home"), und suchen Sie>_
oben rechts nach der Symbolschaltfläche .Ein anderer Ansatz hierfür ist die Verwendung der Google JSON-API. Schritt 1: Zugriffstoken zur Verwendung mit der JSON-API abrufen Um eine Tokenverwendung zu erhalten, gehen Sie zu: https://developers.google.com/oauthplayground/ abrufen Suchen Sie dann nach der JSON-API oder dem Speicher. Wählen Sie die erforderlichen Optionen aus, z. B. Lesen, Schreiben, vollständiger Zugriff (kreuzen Sie diese an) die erforderlich sind) Befolgen Sie die Anweisungen, um das Zugriffstoken zu erhalten, das eine Stunde lang gültig ist. Schritt 2: Verwenden Sie das Token, um auf die Google JSON-API zu klicken und CORS zu aktualisieren
Sample Curl:
quelle
Ich möchte für diejenigen hinzufügen, die dringend eine Lösung brauchen, wie ich es war, nachdem ich all dies versucht habe und das Problem nicht gelöst habe. Ich habe online einen großartigen Artikel gefunden, der 3 Lösungen bietet, und der erste hat für mich funktioniert. Ein Google Chrome-Plugin. Ja!
moesif CORS-Erweiterung Stellen Sie nach der Installation sicher, dass Sie sie einschalten
quelle
Um auf eine Ressource mit einem angewendeten CORS-Header zuzugreifen, können Sie ein kleines Projekt verwenden, das ich in Golang für mich selbst erstellt habe - https://proxify-cors.herokuapp.com/
quelle