检查远程URL上是否存在图像 - iphone SDK3.0

时间:2009-10-24 04:42:31

标签: iphone

在我的iPhone中,我需要显示来自远程URL的许多图像。某些URL可能会下载一些数据,但可能不包含实际的图像数据。那么我需要做些什么来检查下载的数据是否是图像数据?

Thnx提前, Syam S

1 个答案:

答案 0 :(得分:2)

你的意思是你给了图像的实际网址(例如http://sstatic.net/so/img/logo.png),并且需要确定它们是否是有效的图像,还是你的意思是你“给予可能包含或不包含图片的网页的网址

假设前者(看起来更可能,并且比其他情况更容易),您将需要查看请求URL时服务器返回的Content-type标头。它的价值通常是不言自明的,例如text/htmlimage/pngimage/gif等等。如果你想要图像数据,那么检查字符串是否以image/开头就足够了 - 尽管你可能想要改进那个方法,如果结果不够准确,无法满足你的需求。

要在iPhone应用中获取此标题,您可能希望在其iPhone开发者网站上使用Apple的Communicating with HTTP Servers指南中描述的方法。如果您只对标题感兴趣,可以考虑使用CFReadStreamCreateForStreamedHTTPRequest(而不是指南建议的,CFReadStreamCreateForHTTPRequest)来阅读回复。这将避免缓冲所有响应数据,并允许您下载所需的内容。