2012-04-21 4 views
2

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

我々は、ファイルの長さがわからない場合、我々は要求ヘッダの文字列で、次のように指定することができます同様

「範囲:バイト= 0 - 」これが最後件まで最初のバイトから始めて、意味ファイルの

しかし、AddRangeメソッドを使用して、これを1つのオフセット値でEOFに指定する方法はありますか?

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

答えて

1

を実体の終わりまで

request.AddRange(10) 

あなたが終点である負の値を、使用することができる第10

以外のすべてのバイトを返すようにサーバに指示します。

request.AddRange(-10) 
+0

おかげでたくさん、私は私が第一いずれかを使用する必要があると思います... –

0

最後のバイト-POS値が存在しない場合、または値が 以上エンティティボディの現在の長さと等しい場合specification for ranges

によれば、最後のバイト・posは であり、エンティティの現在の長さ(バイト単位の )よりも1少ない値になります。

つまり、Range: bytes = 0 -が動作するはずです。実際には、HttpWebRequestには、あなたが求めているものを正確に行う方法、AddRange(Int32)があります。

+0

にバイト0を返すようにサーバに指示が明確化のためにどうもありがとうございました。.. –

1

あなただけの0

その後、別の開始値とAddRangeメソッドを呼び出すために、このような何か必要があります:あなたはオフセットからバイトを取得するために、AddRangeメソッドに正の値を使用し

myHttpWebRequest.AddRange(50,ContentLength);