Настройка корневой опорного пункта 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 3

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

Ссылка : https://developer.bitmovin.com/hc/en-us/articles/360000059353-How-do-I-set-up-CORS-for-my-Google-Cloud-Storage-Bucket-