В настоящее время я создаю приложение 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 лет назад с очень похожей проблемой, но, к сожалению, он не дал мне больше.