2012-04-21 32 views
2

在HttpWebRequest的方法的AddRange,我們可以指定字節下載的範圍。我想知道的是如何指定從某個偏移量到文件末尾的範圍。HttpWebRequest的方法的AddRange查詢

一樣,如果我們不知道該文件的長度,我們可以在請求頭字符串指定這樣

「範圍:字節= 0 - 」這意味着,從高達結束的第一個字節開始的文件。

但是用方法AddRange,如何與一個偏移值到EOF指定此??

我知道我能得到內容的長度,並指定這個樣子,的AddRange(0,的ContentLength)。但我在問,是否有任何方法將內容從某個「偏移」值提升到EOF。

回答

1

您使用正值到的AddRange方法來獲取從偏移字節到實體的盡頭;

request.AddRange(10) 

通知服務器返回除了所有字節的第一個10

可以使用一個負值,也就是結束點;

request.AddRange(-10) 

告訴服務器返回字節0分至10

+0

非常感謝,我想我需要使用一日一... – 2012-04-21 14:56:45

0

按照specification for ranges

如果最後一個字節-POS值不存在,或如果該值大於或 等於實體主體的當前長度,最後針對字節pos爲 取爲等於比實體的當前長度小1,以字節爲單位。

換句話說,你Range: bytes = 0 -應該工作。實際上,HttpWebRequest有一個方法,AddRange(Int32),完全符合你的要求。

+0

非常感謝你的澄清.. – 2012-04-21 14:55:55

1

你只需要調用一個初始值不同,那麼0

這樣的事情AddRange方法:

myHttpWebRequest.AddRange(50,ContentLength);