我需要下載一個文件從一個網站使用不同的線程和一次下載文件的不同部分,我知道我可以使用Webclient.downloadfile方法,但它不支持下載文件分塊。如果你可以指向一個教程或給我一個想法如何做到這一點,我將不勝感激。謝謝!如何下載一個文件與多線程
4
A
回答
0
爲了捎帶雷克斯的答案,沒有傻瓜的方式知道。一些網絡服務器會爲你提供一個內容長度,或者一些網絡服務器將返回-1長度。令人討厭的,我知道..
你最好的辦法是指定一個固定的範圍,並利用一些啓發式或分析來確定隨着時間的推移塊的估計長度。
你也想看看這個類似的SO問題Multipart Downloading in C#。
3
另一端的服務器,即提供文件的服務器,也必須支持以塊的形式下載。它需要某種方式來指定要啓動的文件中的哪個字節位置,而不是從第一個位置開始併發送,直到客戶端停止接受它們,或者它到達文件末尾。
假設服務器確實支持,他們會提供一些關於如何使用它的文檔,你一定會在這裏找到幫助,把它變成代碼。
0
WebClient對象有一個'Headers'屬性,它應該讓您定義一個'Range' header來只請求文件的一部分。
0
這裏有很多IFS的,但如果你正在下載,比方說,一個巨大的文本文件,你實際上可以把它拆分成多個文件服務器上,並且每個地址返回給客戶端(或使用文件名約定,只是報告如何許多部分),客戶端可能會啓動線程下載每個部分,然後它可以重新組成一個單一的大文件。
我不確定你的使用情況,但如果這是這個想法,這種特殊情況可能不會使任何事情變得更快。
相關問題
- 1. 多線程下載與單線程不同的文件
- 2. 如何通過多線程的概念下載單個文件
- 3. 如何使用C#中的多線程下載單個文件
- 4. Java多線程文件下載性能
- 5. java中的多線程文件下載
- 6. RxAndroid下載多個文件,最多3個併發線程
- 7. 使用Python與線程文件下載
- 8. 如何一個接一個下載多個文件
- 9. 如何使用多線程通過FTP下載文件?
- 10. 如何使用Python 2.7多線程(異步下載)通過Http下載文件
- 11. 如何在C#下載多個文件
- 12. 使用多線程下載單個文件
- 13. java下載使用線程的多個文件
- 14. 下載後臺線程中的多個文件?
- 15. java - 線程IllegalThreadStateException當下載多個文件
- 16. 如何使用多部分下載遠程下載文件?
- 17. 多線程與文件
- 18. 如何在多個線程中下載文件併合並所有段?
- 19. 如何使用一個actionlink下載mvc4中的多個文件?
- 20. 如何組織一個藍圖與多個路線文件
- 21. Java下載器 - 下載多個文件
- 22. 下載在同一時間(多線程)
- 23. AFHTTPRequestOperation在一批下載多個文件
- 24. 如何用C#中的多個下載線程更新單個UI線程?
- 25. S3多線程下載庫
- 26. 多線程FTP下載
- 27. HTTP下載和多線程
- 28. 多線程下載更快
- 29. C多線程下載器#
- 30. 並行下載一個文件的線程