Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.11;
Скачать: CL | DM;

Вниз

Определение размера закачиваемого файла.   Найти похожие ветки 

 
Alex_Korn ©   (2005-09-01 21:07) [0]

Для определения размера я вызываю:
InternetQueryDataAvailable(hURL,SumSize,0,0);
Но он выдает что-то несуразное. Например, при истинном размере
в 400 KB - он дает 653 Byte
Тестировал на самых разных файлах из разных мест
( в основном из кладовки ).
Как это лечить ?


 
isasa ©   (2005-09-02 10:57) [1]

Попробуй

MSDN
HttpQueryInfo

Retrieves header information associated with an HTTP request.

You can retrieve different types of data from HttpQueryInfo:

1.Strings (default)
2.SYSTEMTIME (for Data: Expires:, headers)
3.DWORD (for STATUS_CODE, CONTENT_LENGTH, and so on, if HTTP_QUERY_FLAG_NUMBER has been used)

var cURL : pURLs;
   hSes, hURL, hHTTP : HInternet;
   BytesAvail, BytesRead : DWORD;
   buf : string;
   bLen, hInd : longword;
   rBuff : PChar;
   i : integer;

.................
 HttpQueryInfo(hHTTP, HTTP_QUERY_STATUS_CODE or HTTP_QUERY_FLAG_NUMBER, @i, bLen, hInd);
 cURL^.Result:=i;
 bLen:=2048;
 HttpQueryInfo(hHTTP, HTTP_QUERY_RAW_HEADERS_CRLF, rBuff, bLen, hInd);
 cURL^.Header:=string(rBuff);
 cURL^.Body:=cURL^.Header;
 if InternetQueryDataAvailable(hHTTP, BytesAvail, 0, 0) then
..............


 
isasa ©   (2005-09-02 11:04) [2]

Да! Должно интересовать поле CONTENT_LENGTH.


 
isasa ©   (2005-09-02 11:17) [3]

Пятница, торможу.
Запрос должен быть HEAD, не GET.


 
Alex_Korn ©   (2005-09-02 17:47) [4]

isasa ©   (02.09.05 11:17) [3]
Спасибо, помогло.



Страницы: 1 вся ветка

Текущий архив: 2005.12.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.081 c
1-1131994208
Sam Stone
2005-11-14 21:50
2005.12.11
Метод при наследовании


3-1130487012
cherman
2005-10-28 12:10
2005.12.11
как отследить sql запрос


14-1132302421
_Vaitek
2005-11-18 11:27
2005.12.11
Сжатие данных "на лету"


14-1132307208
Andersen
2005-11-18 12:46
2005.12.11
Сериал Есенин


1-1131698101
kukuikar
2005-11-11 11:35
2005.12.11
Непонятный вес линии слоя (AutoCAD + Delphi)