delphi通过url下载文件

procedure TfrmEngineerImport.btnDownloadClick(Sender: TObject);

var

vsql, SourceFile, DestFile, filename, filepath: string;

DownLoadFile: TFileStream;

vUniqry: TUniQuery;

begin

vSql := 'SELECT a.attachment_name,a.attachment_url FROM qo_order t inner join qo_order_schedule os on os.qo_order_ +

' inner join qo_order_sch_process p on p.qo_order_schedule_ +

' inner join qo_order_sch_process_atta a on a.qo_order_sch_process_ +

'where t.wc_contract_;

ServiceDataModule.GetUniQry(vUniqry);

ServiceDataModule.OpenUniQueryBySQL(vUniqry, vSql);

with vUniqry do

begin

First;

while not Eof do

begin

filepath := fieldbyname('attachment_url').AsString;

filename := fieldbyname('attachment_name').AsString;

SourceFile := 'http://127.0.0.1:8080/' + filepath + '/' + filename;

DestFile := 'c:\img\'+filename;

{ if DownloadFile(AnsiToUtf8(SourceFile), DestFile) then

begin

mmoLog.Lines.Add(filename + ':Download succesful!')

end

else

begin

mmoLog.Lines.Add(SourceFile)

end; }

DownLoadFile := TFileStream.Create(DestFile, fmCreate);

IdHTTP1.Get(AnsiToUtf8(SourceFile), DownLoadFile);

DownLoadFile.Free;

Next;

end;

end;

ServiceDataModule.CloseUniQry(vUniqry);

end;