Главная страница
    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.45 MB
Время: 0.041 c
2-1132577865
Igor_thief
2005-11-21 15:57
2005.12.11
Active Desktop


3-1130145891
Viktop
2005-10-24 13:24
2005.12.11
Memo в DBGrid


2-1132654068
DSKalugin
2005-11-22 13:07
2005.12.11
правильная работа с цветом


11-1113926956
Zoom
2005-04-19 20:09
2005.12.11
Progress в статус бар формы


14-1132266612
Джонсон
2005-11-18 01:30
2005.12.11
Шевченке!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский