実際、私はインターネットからファイルをダウンロードするためにTIdHTTPコンポーネントを使用しています。このコンポーネントまたは別のインディコンポーネントを使用して、ダウンロードを一時停止して再開できるかどうか疑問に思っています。
これは私の現在のコードです。これは(履歴書なしで)ファイルをダウンロードするのに問題なく機能しますが、。ダウンロードを一時停止してアプリを閉じ、アプリを再起動したら、最後に保存した位置からダウンロードを再開します。
var
Http: TIdHTTP;
MS : TMemoryStream;
begin
Result:= True;
Http := TIdHTTP.Create(nil);
MS := TMemoryStream.Create;
try
try
Http.OnWork:= HttpWork;//this event give me the actual progress of the download process
Http.Head(Url);
FSize := Http.Response.ContentLength;
AddLog('Downloading File '+GetURLFilename(Url)+' - '+FormatFloat('#,',FSize)+' Bytes');
Http.Get(Url, MS);
MS.SaveToFile(LocalFile);
except
on E : Exception do
Begin
Result:=False;
AddLog(E.Message);
end;
end;
finally
Http.Free;
MS.Free;
end;
end;