と私はVimeoのAPIにファイルをアップロードしていますし、ドキュメントは、私は、このヘッダと空のPUTリクエストを送信することにより、アップロードの進行状況を確認したい:設定範囲ヘッダーへ*/* 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);
}
どのようにしてこのリクエストに必要な形式で範囲ヘッダーを追加しますか?
編集:
私はまた、以下のようにそれをやってみましたが、どのように私は範囲に*
を追加すると、それが長いだけを受け入れますか?
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);
}
編集:
私はこのようにそれを追加する必要があると思う:
progressRequestMessage.Headers.Add("Range", "bytes */*");
これは私に無効な値の例外を与えるので、私はbytes */*
書くための別の方法があるかもしれないと思いますそれは分かりません。