Как получить размер удаленного файла с iPhone SDK? - PullRequest
2 голосов
/ 09 июля 2009

Приложение для iPhone загружает большие файлы из Интернета (например, видео).

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

Я искал снова и снова, но ничего не работает. Есть ли способ сделать это?

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

Ответы [ 3 ]

4 голосов
/ 09 июля 2009

Если вы используете систему загрузки URL-адресов (NSURLRequest, NSURLConnection и т. Д.), То посмотрите, есть ли значение для NSURLConnection для ОжидаемыйКонтентLength. Обратите внимание, что это может быть NSURLResponseUnknownLength.

2 голосов
/ 29 августа 2009

Хорошо, я наконец-то получил ответ.

NSURLConnection вызывает своего делегата с

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;

Что ж, нам нужно заглянуть внутрь NSURLResponse, чтобы найти ожидаемое значение ContentLength

- (long long)expectedContentLength

Возвращаемое значение Ожидаемая длина содержимого получателя или NSURLResponseUnknownLength, если длина не может быть определена.

1 голос
/ 09 июля 2009

Вам понадобится какой-нибудь механизм, чтобы сервер сообщал вам о размере.

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

...