Мы нашли весь интернет, чтобы найти решение этой проблемы, и все же не повезло! У нас есть веб-сайт, на котором мы позволяем пользователям загружать файлы непосредственно в корзину Google Cloud Storage с подписанным URL-адресом для загрузки, сгенерированным из серверной части. Мы загружаем с помощью запроса PUT. Всякий раз, когда пользователь загружает файл, в консоли инструментов chrome dev возникает ошибка: 1001 *
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Мы обновили наши настройки cors для корзины следующим образом:
$ gsutil cors get gs://{BUCKET_NAME}
[{"method": ["POST", "PUT", "GET", "HEAD", "OPTIONS"], "origin": ["*"], "responseHeader": ["*"]}]
Но, тем не менее, всякий раз, когда мы отправляем запрос, в заголовке ответа не возвращается заголовок Access-Control-Allow-Origin.
Несколько замечаний: мы используем экземпляр механизма вычислений, и наше доменное имя управляется Cloudflare.
В некоторых статьях предполагалось, что это может быть проблема с кэшированием, но мы сталкивались с этой проблемой в течение нескольких недель, и ничего не изменилось.
Я слышал, что для методов PUT могут потребоваться предварительные запросы, Я знаю теоретическую часть предполетных запросов, но никогда не использовал ее раньше и не уверен, что делать, должен ли я добавить еще один запрос перед отправкой основного запроса на выборку, или это все автоматически c и происходит за кулисами?