delphi 下载图片支持https

{
关键字=下载图片支持https
采集软件=MKM - 我的知识管理
采集日期=2023-11-23 13:27:54
数字签名=918877488693EBF0DD8BB4C3EADAD16E
}

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, IdIOHandler, IdIOHandlerSocket, IdSSLOpenSSL,
IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls,
IdIOHandlerStack,
IdSSL;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, IdIOHandler, IdIOHandlerSocket, IdSSLOpenSSL,
IdBaseComponent,
IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, StdCtrls,
IdIOHandlerStack,
IdSSL;

function TForm1.Downloadpic(aurl: string; destfile: string): boolean;
var
MemoryStream: TMemoryStream;
URL, SavePath, sFileName, sFileType: string;
DMHttp: TIdHTTP;
begin
{下载图片支持https}
{下载图片支持https}
Result := false;
if aurl = ‘’ then
Exit;
URL := ‘’;
SavePath := ‘’;
sFileName := ‘’;
sFileType := ‘’;

try
MemoryStream := TMemoryStream.Create;
DMHttp := TIdHTTP.Create(nil);
URL := aurl;
Screen.Cursor := crHourGlass;
if aurl.StartsWith(‘https’) then
begin
DMHttp.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
DMHttp.HandleRedirects := True;
end;
try
DMHttp.Get(URL, MemoryStream);
MemoryStream.Position := 0;

  sFileName := DMHttp.Response.RawHeaders.Values['Content-Disposition'];
  Delete(sFileName, 1, Pos('filename=', sFileName) +
    Length('filename=') - 1);
  if destfile.Contains('\\') then
  begin
    SavePath := destfile;
  end
  else
  begin
    SavePath := ExtractFilePath(Application.ExeName) + '\\' + destfile;
  end;
  MemoryStream.SaveToFile(SavePath);
  Result := True;
except

end;

finally
FreeAndNil(MemoryStream);
FreeAndNil(DMHttp);
Screen.Cursor := crDefault;
end;

end;

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欧色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值