2009-10-24 2 views
0

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

Thnx заранее, Syam S

+0

Если вы решили проблему, можете ли вы опубликовать код? – Daniel

ответ

2

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

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

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

Смежные вопросы