Я пытаюсь:
- создать на стороне сервера возобновляемый URL-адрес для загрузки с использованием XML API или JSON API -> URL сгенерирован правильно и может использоваться
- верните этот URL-адрес в браузер и принудительно загрузите файл на этот URL-адрес с помощью JavaScript / jQuery.
- При выполнении вызова выполняется запрос CORS:
a) сначала предварительная проверказапрос отправляется и возвращается ответ 200, который включает заголовок: access-control-allow-origin с правильным именем хоста
b) затем запрос на загрузку отправляется в хранилище Google, загрузка выполняется корректно иполучить ответ (например, включая JSON с деталями загрузки).
НО ответ не включает заголовок: access-control-allow-origin, и из-за этого браузер жалуется: Cross-Origin Request Blocked: Та же политика происхождения запрещает чтение удаленного ресурса на https://www.googleapis.com/upload/storage/v1/b/test-bucket/o?uploadType=resumable&upload_id=AEnB2UoTmA9ul. (причина: отсутствует заголовок CORS 'Access-Control-Allow-Origin').
Для решения этой проблемы некоторые статьифайлы предлагают:
- отправлять в качестве заголовка «Origin» при создании URL возобновляемой загрузки местоположение клиента, который будет выполнять реальную загрузку.Я сделал это для JSON API и XML API.Но все тот же
- для настройки корзины на прием запросов CORS -> это моя конфигурация CORS корзины: [{"method": ["PUT", "GET", "OPTIONS"], "origin":["*"]}]