На самом деле я использую компонент TIdHTTP для загрузки файл из Интернета. я задаюсь вопросом, ли возможная пауза, и возобновите загрузку с помощью этого компонента o, возможно, другой компонент инди.
это - мой текущий код, это работает хорошо на загрузку файл (без резюме), но. теперь я хочу паузу загрузка близко мое приложение, и когда мой перезапуск приложения затем возобновляет загрузку с сохраненной последней позиции.
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;
Возможно, здесь вам поможет заголовок HTTP RANGE. Посмотрите на http://www.west-wind.com/Weblog/posts/244.aspx для получения дополнительной информации о возобновлении загрузки HTTP.
Также посмотрите здесь https://forums.embarcadero.com/message.jspa?messageID=219481 для обсуждения TIdHTTP на ту же тему.