我需要下载一个文件从一个网站使用不同的线程和一次下载文件的不同部分,我知道我可以使用Webclient.downloadfile方法,但它不支持下载文件分块。如果你可以指向一个教程或给我一个想法如何做到这一点,我将不胜感激。谢谢!如何下载一个文件与多线程
4
A
回答
0
为了捎带雷克斯的答案,没有傻瓜的方式知道。一些网络服务器会为你提供一个内容长度,或者一些网络服务器将返回-1长度。令人讨厌的,我知道..
你最好的办法是指定一个固定的范围,并利用一些启发式或分析来确定随着时间的推移块的估计长度。
你也想看看这个类似的SO问题Multipart Downloading in C#。
3
另一端的服务器,即提供文件的服务器,也必须支持以块的形式下载。它需要某种方式来指定要启动的文件中的哪个字节位置,而不是从第一个位置开始并发送,直到客户端停止接受它们,或者它到达文件末尾。
假设服务器确实支持,他们会提供一些关于如何使用它的文档,你一定会在这里找到帮助,把它变成代码。
0
WebClient对象有一个'Headers'属性,它应该让您定义一个'Range' header来只请求文件的一部分。
0
这里有很多IFS的,但如果你正在下载,比方说,一个巨大的文本文件,你实际上可以把它拆分成多个文件服务器上,并且每个地址返回给客户端(或使用文件名约定,只是报告如何许多部分),客户端可能会启动线程下载每个部分,然后它可以重新组成一个单一的大文件。
我不确定你的使用情况,但如果这是这个想法,这种特殊情况可能不会使任何事情变得更快。
相关问题
- 1. 多线程下载与单线程不同的文件
- 2. 如何使用C#中的多线程下载单个文件
- 3. 如何通过多线程的概念下载单个文件
- 4. RxAndroid下载多个文件,最多3个并发线程
- 5. Java多线程文件下载性能
- 6. 使用Python与线程文件下载
- 7. 如何一个接一个下载多个文件
- 8. 如何使用多线程通过FTP下载文件?
- 9. 如何使用Python 2.7多线程(异步下载)通过Http下载文件
- 10. 如何在C#下载多个文件
- 11. java - 线程IllegalThreadStateException当下载多个文件
- 12. 下载后台线程中的多个文件?
- 13. 使用多线程下载单个文件
- 14. java下载使用线程的多个文件
- 15. 如何使用多部分下载远程下载文件?
- 16. 如何使用一个actionlink下载mvc4中的多个文件?
- 17. 如何组织一个蓝图与多个路线文件
- 18. C多线程下载器#
- 19. 多线程FTP下载
- 20. HTTP下载和多线程
- 21. restfull多个文件下载
- 22. HttpWebResponse多个文件下载
- 23. Asp.net多个文件下载
- 24. 下载多个文件WebClient
- 25. 并行下载一个文件的线程
- 26. 如何加载多个文件与一个HTTP请求
- 27. 如何下载多个文件data.gov一次
- 28. 如何一次性下载多个文件在IE
- 29. Android,Swarm:如何在同一个线程下载多个排行榜?
- 30. 如何从URL下载多个文件作为一个zip文件