Я загрузив файл в API Vimeo и документы хотят, чтобы я проверить ход загрузки, отправив запрос пустых пут с этим заголовком:Установить заголовок диапазона до */* с HttpClient
Content-Range: bytes */*
Их Затем API отвечает заголовком диапазона, который указывает, какая часть файла загружена. (https://developer.vimeo.com/api/upload/videos#verify-the-upload)
У меня есть цикл while, который выполняется во время загрузки, но я не могу понять, как добавить заголовок в запрос PUT. uploadClient
- тот же HttpClient
экземпляр, что я загружаю файл.
while(!requestTask.IsCompleted)
{
var progressRequest = await uploadClient.PutAsync(uploadLink.PathAndQuery, new StringContent(""));
var progressResult = await progressRequest.Content.ReadAsStringAsync();
Console.WriteLine("I will parse progress and output here");
await Task.Delay(5000);
}
Как добавить заголовок диапазона в формате, который требуется для этого запроса?
Edit:
Я попытался сделать это, как показано ниже также, но как я могу добавить *
к диапазону, и принимает только длинный?
while(!requestTask.IsCompleted)
{
var progressRequestMessage = new HttpRequestMessage(HttpMethod.Put, uploadLink.PathAndQuery);
progressRequestMessage.Headers.Range.Ranges.Add(new RangeItemHeaderValue(*, *));
var progressRequest = await uploadClient.SendAsync(progressRequestMessage);
var progressResult = await progressRequest.Content.ReadAsStringAsync();
Console.WriteLine("I will parse progress and output here");
await Task.Delay(5000);
}
Edit:
Я думаю, что нужно добавить это следующим образом:
progressRequestMessage.Headers.Add("Range", "bytes */*");
Это дает мне исключение недопустимое значение, поэтому я думаю, что может быть другой способ, чтобы написать bytes */*
что работает, но не может понять это.