如何只下载大文件的一小部分?

时间:2013-07-11 15:15:42

标签: delphi delphi-2010

如何在Delphi中只下载大文件的一小部分? (如下载管理器)

例如,假设我想通过HTTP获取100MB文本文件的前300个字节。

1 个答案:

答案 0 :(得分:3)

  

获取100MB文件的前300个字节。

使用WinInet库,您可以在参数中指定实际需要的文件开头的字节数。

http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103.aspx


如果您以后想从中间获得一些块,您可以调查第三方库。使用这些库,您需要设置HTTP请求Range标题 - https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

但是服务器可能会忽略此标头。您选择的库应该检查服务器是否在HTTP响应中重新定义Content-Range,如果没有则执行某些操作。也许从非常文件开始下载或者可能抛出异常。在这种情况下,您应该测试这些库并了解它们的行为。