Проверьте, существует ли изображение на удаленном URL - iphone SDK3.0 - PullRequest
0 голосов
/ 24 октября 2009

В моем iPhone мне нужно показать несколько изображений с удаленного URL. Некоторые URL-адреса могут загружать некоторое количество данных, но они могут не содержать фактических данных изображения. Итак, что мне нужно сделать, чтобы проверить, являются ли загруженные данные данными изображения или нет?

Спасибо заранее, Сям С

1 Ответ

2 голосов
/ 24 октября 2009

Вы имеете в виду, что вы получили фактические URL-адреса изображений (например, http://sstatic.net/so/img/logo.png), и должны определить, являются ли они действительными изображениями, или вы имеете в виду, что вы URL-адрес страницы, которая может содержать или не содержать изображения ?

Предполагая первый (который кажется более вероятным и проще, чем в другом случае), вы захотите взглянуть на заголовок Content-type, возвращаемый сервером при запросе URL-адреса. Его значение, как правило, будет самоочевидным, например text/html, image/png, image/gif и так далее. Если вам нужны данные изображения, достаточно проверить, начинается ли строка с image/ & mdash; хотя вы, возможно, захотите усовершенствовать этот метод, если он окажется недостаточно точным для ваших нужд.

Чтобы получить этот заголовок в приложении для iPhone, вы, вероятно, захотите использовать методы, описанные в руководстве Apple Связь с HTTP-серверами на их сайте для разработчиков iPhone. Если вас интересуют только заголовки, вы можете использовать CFReadStreamCreateForStreamedHTTPRequest (вместо того, что предлагает руководство, а именно CFReadStreamCreateForHTTPRequest), чтобы прочитать ответ. Это позволит избежать буферизации всех данных ответа и позволит загрузить то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...