Я пытаюсь загрузить файлы из хранилища Firebase через XMLHttpRequest, но Access-Control-Allow-Origin не установлен на ресурсе, поэтому это невозможно. Есть ли способ установить этот заголовок на сервере хранения?
(let [xhr (js/XMLHttpRequest.)]
(.open xhr "GET" url)
(aset xhr "responseType" "arraybuffer")
(aset xhr "onload" #(js/console.log "bin" (.-response xhr)))
(.send xhr)))
Сообщение об ошибке Chrome:
XMLHttpRequest не может загрузить https://firebasestorage.googleapis.com/[EDITED] На запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Следовательно, к источнику ' http: // localhost: 3449 ' не разрешен доступ.
Ответы:
Из этого сообщения в группе / списке firebase-talk :
источник
"origin": ["*"],
вместо"origin": ["https://example.com"],
gsutil cors set myjson.json gs://projectname.appspot.com
как указано выше)В Google Cloud теперь есть встроенный редактор, чтобы сделать этот процесс еще проще. Не нужно ничего устанавливать в вашей локальной системе.
>_
значок на верхней панели навигации.cors.json
файл.gsutil cors set cors.json gs://your-bucket
источник
>_
Просто хочу добавить к ответу. Просто зайдите в свой проект в консоли google (console.cloud.google.com/home) и выберите свой проект. Откройте терминал и просто создайте файл cors.json (
touch cors.json
), а затем следуйте ответу и отредактируйте этот файл (vim cors.json
), как это было предложено @ frank-van-puffelenЭто сработало для меня. Ура!
источник
cloud
субдомене, а не вfirebase
том ("console.cloud.google.com/home"), и найдите>_
кнопку со значком в правом верхнем углу.другой подход к этому - использование Google JSON API. Шаг 1. Получите токен доступа для использования с JSON API. Чтобы использовать токен, перейдите по ссылке : https://developers.google.com/oauthplayground/. Затем выполните поиск по JSON API или хранилищу. Выберите необходимые параметры, например, чтение, запись, full_access (отметьте те которые необходимы) Следуйте инструкциям, чтобы получить токен доступа, который будет действителен в течение часа. Шаг 2. Используйте токен, чтобы нажать Google JSON API, чтобы обновить CORS
Образец завитка:
источник
Я хотел бы добавить для тех, кто отчаянно нуждался в решении, как я пытался все это, но не решил проблему. Я нашел в Интернете отличную статью, предлагающую 3 решения, и первая сработала для меня ... плагин google chrome ... да! ..
moesif CORS extension Убедитесь, что после установки вы включили его
источник
Чтобы получить доступ к любому ресурсу с примененным заголовком CORS, вы можете использовать небольшой проект, который я сделал в Golang для себя - https://proxify-cors.herokuapp.com/
источник