2013-07-11 17 views
-2

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

例如,假設我想通過HTTP獲取100MB文本文件的前300個字節。

+1

是FileStream類 –

+0

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

+1

您問的答案是「是的,這是可能的。」。沒有其他信息需要回答。因爲這可能對你沒有用處,所以你應該編輯你的問題,讓它更清楚你要問什麼。 :-)例如,什麼是「服務器」?它究竟是「支持」(ftp,http還是別的)? –

回答

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,並在沒有響應的情況下執行某些操作。也許從非常文件開始下載或可能拋出異常。您應該測試這些庫並瞭解他們在這種情況下的行爲。