加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 使用Indy组件下载,暂停和恢复下载

发布时间:2020-12-15 09:28:58 所属栏目:大数据 来源:网络整理
导读:实际上我正在使用TIdHTTP组件从互联网上下载文件.我想知道是否可能暂停并使用此组件恢复下载o也许是另一个indy组件. 这是我目前的代码,这适用于下载文件(没有恢复),但是.现在我想暂停下载关闭我的应用程序,当我的应用程序重新启动后,从最后保存的位置恢复下
实际上我正在使用TIdHTTP组件从互联网上下载文件.我想知道是否可能暂停并使用此组件恢复下载o也许是另一个indy组件.

这是我目前的代码,这适用于下载文件(没有恢复),但是.现在我想暂停下载关闭我的应用程序,当我的应用程序重新启动后,从最后保存的位置恢复下载.

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下载的更多信息,请查看 http://www.west-wind.com/Weblog/posts/244.aspx.

另请参阅此处有关同一主题的TIdHTTP相关讨论的https://forums.embarcadero.com/message.jspa?messageID=219481.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读