NSURLConnection sendSynchronousRequestメソッドを使用してイメージをダウンロードしていて、正常に動作しています。しかし、画像URLが画像ファイル以外を指している問題が発生することがあります。たとえば、この非画像URLが問題を引き起こしていたことがわかりました。http://www.100plusposters.com/images/ExoticFlowers.jpg URLはWebページを返します。これは、画像がサイトに存在しないために発生すると想定しています。iPhoneでWebからダウンロードした画像ファイルを検証するにはどうすればよいですか?
Objective-Cに関する素晴らしい点の1つは、無効な画像がクラッシュを引き起こさないことです。それは単に静かに続き、ちょうどイメージを表示しませんが、それはまだ問題です。
返されたデータを確認してから、表示する前に有効な画像ファイルであることを確認するにはどうすればよいですか?
ありがとうございます! NSURLResponseオブジェクトがMIMEType propertyが含まれているように役立ちます場合に
私の関連するコード、...
NSError *error = nil;
NSURLResponse *response;
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if(data != nil && [error localizedDescription] == nil)
{
//Create UIImage object using initWithData method
//Display UIImage
}
これは完全に機能します。ありがとうございました! –