我正在使用System.Net.ConnectStream
. 但是,为了支持下载的暂停功能,我正在做的是在单击开始时创建新连接,如下所示:
this.InputStream = CreateLink(this.URL);
在 CreateLink 中,我检查文件是否在服务器上更新并返回相应的流进行下载。我将文件下载为字节块:
InputStream.Read(buffer, offset, bytesToRead);
问题是它从头开始读取,而不是从暂停的地方开始读取。此外,我无法用来this.InputStream.Position = CurrentPosition;
设置 InputStream 的位置,因为它是不可搜索的。此外,Stream 支持“Accept-Ranges”作为“字节”
那么,如何从暂停位置开始下载?
更新:
“this”指的是下载器的实例:
Downloader downloader = new Downloader();
HttpWebRequest request = (HttpWebRequest)GetRequest(path);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
downloader.InputStream = response.GetResponseStream();