Нужно вытянуть некоторый файл из интернета.. размер порядка 2х мб... в принципе файл может и не большой но для дайл апа не малый размер, учитывая, что связь может сбрасываться и т.д.
Какими средствами при МИНИМАЛЬНОМ объеме программы (экзэшника) вытягивать этот файл? (файл не текстовой прийдется вытягивать как-то через бинарное открытие чтоль)
как этот процесс можно организовать? в какую сторону смотреть? напрямую ведь не прочитаешь файл открыв его как файл http://test.site/file.rar
Что может помочь в данной ситуации? (по фтп доступиться к сайту нет возможности)
volvo
4.08.2005 23:09
В DRKB есть пример:
Цитата(DRKB)
Пример HTTP Get - загружаем файлы и страницы из Интернета
Качай и читай ;)
BlackNightFear
5.08.2005 1:38
ого, лихо! а попроще никак?
volvo
5.08.2005 2:17
program i_n;
{$APPTYPE CONSOLE}
uses SysUtils, winInet;
procedure DownloadFile(const url: string; const savefile : String); var NetHandle : HINTERNET; UrlHandle : HINTERNET; Buffer : packed array [0..1023] of byte; BytesRead : Cardinal; f : file; begin NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); if Assigned(NetHandle) then begin UrlHandle := InternetOpenUrl (NetHandle, PChar(url), nil, 0, INTERNET_FLAG_RELOAD, 0); if Assigned (UrlHandle) then begin AssignFile (f, savefile); ReWrite (f, 1); InternetReadFile (UrlHandle, @Buffer, SizeOf(Buffer), BytesRead); while BytesRead <> 0 do begin BlockWrite (f, Buffer, BytesRead); InternetReadFile (UrlHandle, @Buffer, SizeOf(Buffer), BytesRead); end; InternetCloseHandle(UrlHandle); CloseFile (f); end else begin raise Exception.CreateFmt ('Cannot open URL %s', [Url]); end; InternetCloseHandle(NetHandle); end else raise Exception.Create ('Unable to initialize Wininet'); end;
begin DownloadFile('http://volvo1971.nm.ru/pics/gist_2.png', 'C:\gist_2.png'); end.
Так достаточно просто?
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.