0

を使用してファイルをダウンロードしています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();
4

0 に答える 0