Delphi Sources

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



Приходит юзер к провайдерам и говорит.
- У Вас маршрут на Москву не работает.
- А откуда Вы знаете?...


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;





Похожие по теме исходники

Передача видео по сети

Расчет зубчатой передачи

Передача удаленного экрана по сети (Remote Screen)

Разбиение файла на части

 

Текст внутри файла