Программирование на Delphi и не только Как скачать файл из Интернета? | Программирование на Delphi и не только

Delphi FAQ >> Интернет

При помощи данной функции можно скачать файл любого типа из Интернета.

uses WinInet;

function GetInetFile (const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var   hSession, hURL: HInternet;

  Buffer: array[1..BufferSize] of Byte;

  BufferLen: DWORD;   f: File;

  sAppName: String;


begin   Result:=False;   sAppName := ExtractFileName(Application.ExeName);

  hSession :=InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);


  try
    hURL := InternetOpenURL(hSession, PChar(fileURL), nil, 0, 0, 0);
    try       AssignFile(f, FileName);       Rewrite(f,1);

      repeat

        InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);         BlockWrite(f, Buffer, BufferLen)

      until BufferLen = 0;

      CloseFile(f);       Result:=True;

    finally

      InternetCloseHandle(hURL)

    end


  finally     InternetCloseHandle(hSession)

  end


end;