2012-11-22 23 views
0

我正在尋找一種方法來檢測NSURL是否爲UIImage類支持的文件格式的URL,如果是,請將其打開在像MWPhotoBrowser(https://github.com/mwaterfall/MWPhotoBrowser)而不是UIWebView。我的第一個想法是對所有受支持的文件擴展名都有if條件。我想知道有沒有人知道更好的方法?檢測NSURL是否是UIImage類支持的文件格式的URL

回答

3

直到您至少開始獲取它,您纔會知道網址上的內容。某些URL看起來像是以文件名結尾 - 圖像文件名,甚至是 - 但實際上指向HTML頁面(例如,用於查看所述圖像)。某些URL不會以文件名結尾,而是直接指向圖像文件。

通過發出HTTP HEAD請求,您可以很好地瞭解URL中的數據類型:請參閱NSURLRequestNSHTTPURLResponse並查找Content-Type標頭。 (這些只是描述請求和響應;您需要NSURLSession來執行請求並獲得響應。)

儘管HEAD請求並不總是正確報告,但是:唯一的方法是確保是否存在一個URL上的圖像將獲取它 - 大多數圖像格式在數據的前幾個字節內都是可識別的,因此您可以開始讀取,查看您獲得的第一部分數據,並在您不需要時取消讀取想要休息。

+0

感謝您的優秀,詳細的答案。正確地指出我需要去的方向! –