Как перед скачиванием узнать размер файла

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Приходит юзер к провайдерам и говорит.

— У Вас маршрут на Москву не работает.

— А откуда Вы знаете?…

GetUrlInfo(HTTP_QUERY_CONTENT_LENGTH, ‘http://some.com/some.zip’);

function GetUrlInfo(const dwInfoLevel: DWORD; const FileURL: string):

string;

var

hSession, hFile: hInternet;

dwBuffer: Pointer;

dwBufferLen, dwIndex: DWORD;

begin

Result := »;

hSession := InternetOpen(‘STEROID Download’,

INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);

if Assigned(hSession) then begin

hFile := InternetOpenURL(hSession, PChar(FileURL), nil, 0,

INTERNET_FLAG_RELOAD, 0);

dwIndex := 0;

dwBufferLen := 20;

if HttpQueryInfo(hFile, dwInfoLevel, @dwBuffer, dwBufferLen, dwIndex)

then Result := PChar(@dwBuffer);

if Assigned(hFile) then InternetCloseHandle(hFile);

InternetCloseHandle(hsession);

end;

end;

{/codecitation}

Добавить комментарий