Скачивай как обычный файл. Если не имеет значения способ скачивания, то можешь так:
| Код | 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; |
а можешь с помощью Indy:
| Код | uses IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdBaseComponent;
procedure GetFile(URL, TaskFile); var IdHTTP: TIdHTTP; Stream: TMemoryStream; begin IdHTTP:= TIdHTTP.Create(nil); Stream:= TMemoryStream.Create;
try IdHTTP.Get(URL, Stream); Stream.SaveToFile(TaskFile); finally Stream.Free; IdHTTP.Free; end; end; |
|