2

HttpWebRequest AddRangeメソッドでは、ダウンロードするバイトの範囲を指定できます。私が知りたいのは、特定のオフセットからファイルの終わりまでの範囲を指定する方法です。

ファイルの長さがわからない場合のように、リクエストヘッダー文字列でこのように指定できます

"範囲:バイト= 0-"これは、最初のバイトからファイルの終わりまでを意味します。

しかし、メソッドAddRangeを使用して、EOFへの1つのオフセット値でこれを指定するにはどうすればよいですか?

コンテンツの長さを取得して、AddRange(0、ContentLength)のように指定できることはわかっています。しかし、特定の「オフセット」値からEOFまでのコンテンツを取得する方法があるかどうかを尋ねています。

4

3 に答える 3

1

0以外の開始値を使用してAddRangeメソッドを呼び出す必要があります。

このようなもの:

myHttpWebRequest.AddRange(50,ContentLength);
于 2012-04-21T14:11:26.227 に答える
1

AddRangeメソッドに正の値を使用して、オフセットからエンティティの終わりまでのバイトを取得します。

 request.AddRange(10)

最初の10バイトを除くすべてのバイトを返すようにサーバーに指示します。

終点である負の値を使用できます。

 request.AddRange(-10)

サーバーに0から10バイトを返すように指示します。

于 2012-04-21T14:14:12.027 に答える
0

範囲の仕様によると、

last-byte-pos値が存在しない場合、または値がエンティティ本体の現在の長さ以上である場合、last-byte-posはエンティティの現在の長さより1つ短いと見なされます。 -バイト単位の本文。

言い換えれば、あなたRange: bytes = 0 -は働くことになっています。実際、には、要求していることを正確に実行HttpWebRequestするメソッドAddRange(Int32)があります。

于 2012-04-21T14:10:19.597 に答える