を使用してファイルをダウンロードしていますSystem.Net.ConnectStream
。ただし、ダウンロードの一時停止機能をサポートするために、次のように開始をクリックして新しい接続を作成しています。
this.InputStream = CreateLink(this.URL);
CreateLink では、ファイルがサーバーで更新されているかどうかを確認し、ダウンロード用に対応するストリームを返します。次のようにファイルをバイトのチャンクとしてダウンロードします。
InputStream.Read(buffer, offset, bytesToRead);
問題は、一時停止されている場所ではなく、最初から読み取りを開始するthis.InputStream.Position = CurrentPosition;
ことです。また、入力ストリームはシークできないため、位置を設定するために使用できません。さらに、ストリームは「受け入れ範囲」を「バイト」としてサポートします
では、一時停止した位置からダウンロードを開始するにはどうすればよいですか?
更新:
「これ」はダウンローダーのインスタンスを次のように参照します。
Downloader downloader = new Downloader();
HttpWebRequest request = (HttpWebRequest)GetRequest(path);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
downloader.InputStream = response.GetResponseStream();