Delphi使用通过WinHTTP下载的文件保存到磁盘
相关资料:
https://www.jb51.cc/delphi/103143.html 使用Delphi XE将通过WinHTTP下载的文件保存到磁盘
https://www.cnblogs.com/huangjacky/archive/2009/12/30/1635830.html Delphi - 我的代码之简单封装WinHttpRequest
实例:下面这代码是我下载ZIP包时用到的,亲证可用。
{$APPTYPE CONSOLE} uses Variants,ActiveX,Classes,AxCtrls,WinHttp_TLB,SysUtils; function Download(const url,filename: String): Boolean; var http: IWinHttpRequest; wUrl: WideString; fs:TFileStream; HttpStream :IStream; sz,wr:Int64; FStatus : Integer; OleStream: TOleStream; begin try wUrl := url; http := CoWinHttpRequest.Create; http.open('GET',False); http.send(EmptyParam); FStatus := http.status; // 200=OK! result := FStatus=200; if result then begin HttpStream:=IUnknown(http.ResponseStream) as IStream; OleStream:= TOleStream.Create(HttpStream); try fs:= TFileStream.Create(FileName,fmCreate); try OleStream.Position:= 0; fs.CopyFrom(OleStream,OleStream.Size); finally fs.Free; end; finally OleStream.Free; end; end; except result := false; // do not raise exceptions. end; end; begin try Download('http://foo.html','C:\Foo\anyfile.foo'); except on E: Exception do Writeln(E.ClassName,': ',E.Message); end; end.
作者:疯狂Delphi
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我
![](https://images.cnblogs.com/cnblogs_com/FKdelphi/1101510/o_200417075318%E5%8A%A0%E6%88%91QQ.jpg)
![](https://images.cnblogs.com/cnblogs_com/FKdelphi/1101510/o_200417080925%E5%8A%A0%E6%88%91%E5%BE%AE%E4%BF%A1.jpg)