получить размер файла CFHTTPStream - PullRequest
1 голос
/ 04 декабря 2009

Как получить размер файла CFHTTPStream. Предположим, что файл с именем "http://testserver.com/test.jpg" доступен для чтения. Здесь мне нужно получить размер файла «test.jpg», это мне нужно для отображения прогресса при использовании CFReadStreamRead.

Или, другими словами, мне нужно, сколько байтов доступно на сервере
до начала процесса чтения.

Заранее спасибо

Mohsin

1 Ответ

0 голосов
/ 21 января 2011

Вы получите заголовок сообщения из потока таким образом:

CFHTTPMessageRef message = CFReadStreamCopyProperty(requestStream, kCFStreamPropertyHTTPResponseHeader);

А затем скопируйте поля заголовка:

CFDictionaryRef headerFields = CFHTTPMessageCopyAllHeaderFields(message);

и затем извлеките поле длины содержимого из словаря.

Я не совсем помню конкретное имя поля, поэтому выбросьте слово и возьмите то, которое выглядит правильно. Вам нужно будет прочитать хотя бы немного потока, чтобы получить заголовок.

...