Estoy intentando descargar archivos de Firebase Storage a través de XMLHttpRequest, pero Access-Control-Allow-Origin no está configurado en el recurso, por lo que no es posible. ¿Hay alguna forma de configurar este encabezado en el servidor de almacenamiento?
(let [xhr (js/XMLHttpRequest.)]
(.open xhr "GET" url)
(aset xhr "responseType" "arraybuffer")
(aset xhr "onload" #(js/console.log "bin" (.-response xhr)))
(.send xhr)))
Mensaje de error de Chrome:
XMLHttpRequest no puede cargar https://firebasestorage.googleapis.com/[EDITED] No hay un encabezado 'Access-Control-Allow-Origin' presente en el recurso solicitado. Por lo tanto, no se permite el acceso al origen ' http: // localhost: 3449 '.
Respuestas:
De esta publicación en el grupo / lista de firebase-talk :
fuente
"origin": ["*"],
lugar de"origin": ["https://example.com"],
gsutil cors set myjson.json gs://projectname.appspot.com
mencionado anteriormente)Google Cloud ahora tiene un editor en línea para facilitar aún más este proceso. No es necesario instalar nada en su sistema local.
>_
botón de icono en la barra de navegación superior.cors.json
archivo.gsutil cors set cors.json gs://your-bucket
fuente
>_
Solo quiero agregar algo a la respuesta. Simplemente vaya a su proyecto en la consola de Google (console.cloud.google.com/home) y seleccione su proyecto. Allí abra la terminal y simplemente cree el archivo cors.json (
touch cors.json
) y luego siga la respuesta y edite este archivo (vim cors.json
) como lo sugiere @ frank-van-puffelenEsto funcionó para mí. ¡Salud!
fuente
cloud
subdominio, no en elfirebase
("console.cloud.google.com/home") y busca el>_
botón con el ícono en la parte superior derecha.Otro enfoque para hacer esto es utilizar la API JSON de Google. paso 1: obtenga el token de acceso para usar con JSON API Para obtener un token, vaya a: https://developers.google.com/oauthplayground/ Luego busque JSON API o Storage Seleccione las opciones requeridas, es decir, leer, escribir, full_access (marque esas que son obligatorios) Siga el proceso para obtener el token de acceso, que será válido por una hora. Paso 2: use el token para acceder a la API JSON de Google para actualizar CORS
Rizo de muestra:
fuente
Me gustaría agregar para aquellos que necesitan desesperadamente una solución como yo después de intentar todo esto y no resolver el problema. Encontré un gran artículo en línea que ofrece 3 soluciones, y la primera funcionó para mí ... un complemento de google chrome ... ¡sí! ...
extensión moesif CORS Asegúrese de que después de la instalación, la encienda
fuente
Para acceder a cualquier recurso con un encabezado CORS aplicado, puede usar un pequeño proyecto que hice en Golang para mí: https://proxify-cors.herokuapp.com/
fuente