我正在尋找一種方法來檢測NSURL是否爲UIImage類支持的文件格式的URL,如果是,請將其打開在像MWPhotoBrowser(https://github.com/mwaterfall/MWPhotoBrowser)而不是UIWebView。我的第一個想法是對所有受支持的文件擴展名都有if條件。我想知道有沒有人知道更好的方法?檢測NSURL是否是UIImage類支持的文件格式的URL
0
A
回答
3
直到您至少開始獲取它,您纔會知道網址上的內容。某些URL看起來像是以文件名結尾 - 圖像文件名,甚至是 - 但實際上指向HTML頁面(例如,用於查看所述圖像)。某些URL不會以文件名結尾,而是直接指向圖像文件。
通過發出HTTP HEAD
請求,您可以很好地瞭解URL中的數據類型:請參閱NSURLRequest
和NSHTTPURLResponse
並查找Content-Type標頭。 (這些只是描述請求和響應;您需要NSURLSession
來執行請求並獲得響應。)
儘管HEAD請求並不總是正確報告,但是:唯一的方法是確保是否存在一個URL上的圖像將獲取它 - 大多數圖像格式在數據的前幾個字節內都是可識別的,因此您可以開始讀取,查看您獲得的第一部分數據,並在您不需要時取消讀取想要休息。
相關問題
- 1. 檢測是否支持SSL
- 2. 檢測是否支持</輸入類型=「文件」>
- 3. iBooks是否支持ePUB格式的localStorage?
- 4. 檢查NSURL是否爲本地文件
- 5. React Native:檢測是否支持UIVisualEffectView
- 6. 如何檢測是否支持clipboard.js
- 7. 檢測設備是否支持jQuery Mobile
- 8. 如何檢測UIMotionEffect是否受支持?
- 9. 如何檢測printf是否支持%a?
- 10. JavaScript:檢測是否支持Symbol.toStringTag
- 11. 檢測是否在笨支持JS
- 12. 檢測設備是否支持電話?
- 13. 檢測瀏覽器是否支持jQueryMobile
- 14. 檢測瀏覽器是否支持vbscript?
- 15. Phonegap的SharedPreferences是否支持以xml格式存儲文件?
- 16. Android是否支持Zip64格式的apk文件?
- 17. MediaElement:找出文件是否包含支持的格式
- 18. 檢測URL是否爲文件下載
- 19. 如何檢測瀏覽器是否支持URL()構造函數?
- 20. Minio是否支持MIME類型檢查?
- 21. 測試是否支持Three.js
- 22. JSON格式是否支持場景圖?
- 23. Orion是否支持GeoJSON格式?
- 24. log4j是否支持JSON格式?
- 25. NPOI是否支持.xlsx格式?
- 26. iPhone:AVAudioPlayer是否支持.wav格式?
- 27. OpenStack Heat是否支持YAML格式?
- 28. gwt是否支持i18n距離格式?
- 29. 檢查是否支持ALPN
- 30. 如何檢查上傳的文件是否是受支持的文件
感謝您的優秀,詳細的答案。正確地指出我需要去的方向! –