Ошибка предварительной проверки OneDrive CORS при загрузке файла с включенным заголовком Range - PullRequest
0 голосов
/ 22 сентября 2019

В настоящее время я создаю приложение javascript, которое обеспечивает поддержку файловой системы OneDrive для chromeOS.К сожалению, я сталкиваюсь с проблемой при загрузке файла через API OneDrive из-за сбоя предварительной проверки.

Глубоко закопанный в документах Microsoft API есть упоминание об обходном пути для запроса CORS для JavaScriptприложения, потому что предварительные рейсы не удастся.Чтобы обойти перенаправление 302, загрузка файла должна выполняться в два этапа: сначала получить URL-адрес загрузки, а затем загрузить файл через этот URL-адрес.Это прекрасно работает, так как простой запрос GET не требует предварительной проверки.

Вернуться к файловой системе.Согласно документации chrome.fileSystemProvider API :

Результаты должны быть возвращены в виде кусков, несколько раз вызвав successCallback.

Этого можно достичьиспользуя заголовок Range в запросе GET к URL-адресу загрузки, который фактически поддерживается OneDrive API, используя частичный диапазон загрузок .Однако теперь этот запрос больше не является простым и поэтому требует предварительной проверки, которая в конечном итоге завершается неудачей.

Таким образом, в основном, обходной путь не удался, потому что проблема, которую пытался обойти обходной путь, все еще присутствует в обходном пути.

Как мне преодолеть эту проблему?Я, очевидно, не хочу направлять запрос через прокси из-за проблем с пропускной способностью и конфиденциальностью.Можно ли имитировать заголовок Range, загрузив сначала весь файл, а затем предоставив его кусками байтового размера в fileSystemProvider?Я наткнулся на вопрос, заданный почти 5 лет назад с очень похожей проблемой, но, к сожалению, он не дал мне больше.

...