2

在 HttpWebRequest 的 AddRange 方法中,我们可以指定要下载的字节范围。我想知道的是如何指定从某个偏移量到文件末尾的范围。

就像我们不知道文件的长度一样,我们可以在 Request Header 字符串中这样指定

“范围:字节 = 0 -”这意味着,从第一个字节开始到文件末尾。

但是使用 AddRange 方法,如何使用 EOF 的一个偏移值来指定它?

我知道我可以获取内容长度并像这样指定 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 值不存在,或者如果该值大于或等于 entity-body 的当前长度,则 last-byte-pos 被认为等于比实体的当前长度小一- 以字节为单位的正文。

换句话说,你Range: bytes = 0 -应该工作。事实上,HttpWebRequest有一个方法,AddRange(Int32),它完全符合您的要求。

于 2012-04-21T14:10:19.597 回答