-2

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

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

4

1 回答 1

3

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

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

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


如果您以后想要中间的一些块,您可以调查 3rd-party 库。使用这些库,您需要设置 HTTP 请求Range标头 - https://en.wikipedia.org/wiki/List_of_HTTP_header_fields

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

于 2013-07-11T16:31:05.970 回答