如何验证我在iPhone上从Web下载的图像文件?

Ken*_*isa 4 iphone image objective-c uiimage

我正在使用NSURLConnection sendSynchronousRequest方法下载图像,并且工作正常.但是,偶尔我会遇到图像URL指向图像文件以外的问题的问题.例如,我发现这个非图像URL导致了问题:http: //www.100plusposters.com/images/ExoticFlowers.jpg 该URL返回一个网页,我认为这是因为该网站缺少图像.

Objective-C的一个好处是无效图像不会导致崩溃.它简单而安静地继续,并且不显示任何图像,但这仍然是一个问题.

如何在显示之前验证返回的数据以确保它是有效的图像文件?

谢谢!

我的相关代码,如果有帮助......

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
}
Run Code Online (Sandbox Code Playgroud)

Eig*_*ght 8

看起来NSURLResponse对象包含MIMEType属性.这应该会让您非常清楚返回数据的类型.