Firebase Storage y Access-Control-Allow-Origin

Intento 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 manera de establecer 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 encabezado ‘Access-Control-Allow-Origin’ presente en el recurso solicitado. El origen ‘ http: // localhost: 3449 ‘ no está, por lo tanto, permitido.

    De esta publicación en firebase-talk group / list :

    La forma más fácil de configurar sus datos para CORS es con la herramienta de línea de comandos gsutil . Las instrucciones de instalación para gsutil están disponibles en https://cloud.google.com/storage/docs/gsutil_install . Una vez que haya instalado gsutil y autenticado con él, puede usarlo para configurar CORS.

    Por ejemplo, si solo desea permitir descargas de objetos desde su dominio personalizado, coloque estos datos en un archivo llamado cors.json (reemplazando "https://example.com" con su dominio):

     [ { "origin": ["https://example.com"], "method": ["GET"], "maxAgeSeconds": 3600 } ] 

    Luego, ejecute este comando (reemplazando "exampleproject.appspot.com" con el nombre de su cubo):

     gsutil cors set cors.json gs://exampleproject.appspot.com 

    y deberías estar listo.

    Si necesita una configuración de CORS más complicada, consulte los documentos en https://cloud.google.com/storage/docs/cross-origin#Configuring-CORS-on-a-Bucket .

    Solo quiero agregar a la respuesta. Simplemente vaya a su proyecto en la consola de google (console.cloud.google.com/home) y seleccione su proyecto. 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-puffelen

    Esto funcionó para mí. ¡Aclamaciones!