Я пытаюсь реализовать Загружать большие файлы с сеансом загрузки.
На данный момент у меня есть (получение сеанса загрузки):
UploadSession uploadSession = await graphClient
.Users["[email protected]"]
.Drive
.Root
.ItemWithPath(@"\someFolder\file.txt")
.CreateUploadSession()
.Request()
.PostAsync();
Ответом на этот запрос является некоторый URL-адрес сеанса, но когда я загружаю фрагмент файла на этот URL-адрес, я получаю сообщение об ошибке:
{
"error": {
"code": "invalidRequest",
"message": "DeferCommit was set to false for this upload session."
}
}
Кто-нибудь знает, что вызывает эту ошибку?
@MarcLaFleur Я загрузил последнюю версию Microsoft.Graph
из NuGet, после некоторых изменений в моем коде ошибка заменилась на: {"error":{"code":"invalidRequest","message":"The Content-Range header is missing or malformed."}}
Content-Range
используется при загрузке фрагментов, а не при создании сеанса. Что бы ни происходило, ваш пример кода не показывает достаточно.
Не видя, как был сделан запрос на загрузку байтов, мне остается немного догадываться, но я считаю, что проблема в том, что вы использовали POST
вместо PUT
. Возвращаемый URL-адрес сеанса должен иметь PUT
запросы с соответствующими Content-Range
заголовками, чтобы загрузить и зафиксировать данные.
Это была проблема
Вы используете версию SDK производство или бета?