Настройка корневой опорного пункта Google облако хранения ведро
Я пытаюсь загрузить файл в хранилище Firebase.
Я не могу этого сделать из-за ошибки запроса перекрестного происхождения.
XMLHttpRequest cannot load gs://myappkhh.appspot.com. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource.
Мне сказали, что способ справиться с этим-это инструмент командной строки gsutil
(согласно https://cloud.google.com/storage/docs/cross-origin )
Как я могу использовать это в моем существующем проекте firebase? Где мне нужно выполнить эту команду?
1 ответ:
Войдите в свою облачную консоль google: https://console.cloud.google.com/home и нажмите на кнопку "Активировать Google Cloud Shell" в правом верхнем углу.
В нижней части окна будет показан терминал оболочки, где уже доступны gcloud и gsutil. Выполните команду, показанную ниже. Он создает json-файл, который необходим для настройки cors-конфигурации для вашего ведра. Эта конфигурация позволит каждому домену получить доступ к вашему ведру с помощью XHR-запросов в браузер:
echo '[{"origin": ["*"],"responseHeader": ["Content-Type"],"method": ["GET", "HEAD"],"maxAgeSeconds": 3600}]' > cors-config.json
Если вы хотите ограничить доступ к одному или нескольким определенным доменам, добавьте их URL-адрес в массив, например:
echo '[{"origin": ["https://yourdomain.com"],"responseHeader": ["Content-Type"],"method": ["GET", "HEAD"],"maxAgeSeconds": 3600}]' > cors-config.json
Замените YOUR_BUCKET_NAME вашим фактическим именем bucketname в следующей команде, чтобы обновить cors-настройки из вашего bucket
gsutil cors set cors-config.json gs://YOUR_BUCKET_NAME
Чтобы проверить, все ли работает, как ожидалось, вы можете получить cors-настройки ведра с помощью следующей команды:
gsutil cors get gs://YOUR_BUCKET_NAME