ios - dataWithContentsOfURL 取有些图片返回空?
本文介绍了ios - dataWithContentsOfURL 取有些图片返回空?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
使用dataWithContentsOfURL方法取图片文件,有些返回nil,例如:
NSURL *url=[NSURL URLWithString:@"http://wx2.sinaimg.cn/mw690/6f250299gy1fefknh4ml6j21kw163gyj.jpg"];
NSData *data=[NSData dataWithContentsOfURL:url options:nil error:&error];
图是微博里随便找的,直接在浏览器可以打开;执行后data为nil,Error如下:
Error Domain=NSCocoaErrorDomain Code=256 "The file 6f250299gy1fefknh4ml6j21kw163gyj.jpg couldn’t be opened." UserInfo={NSURL=http://wx2.sinaimg.cn/mw690/6...}
同样的使用方法,换成其他比如百度Logo图片:
NSURL *url=[NSURL URLWithString:@"https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png"];
NSData *data=[NSData dataWithContentsOfURL:url options:nil error:&error];
结果正常。求问怎么回事?
解决方案
EDIT:
你在info.plist 里面设置一下这个。
有可能是http的原因,百度那个是https。
我不设置这个访问http那张图片会报App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
How do I load an HTTP URL with App Transport Security enabled in iOS 9?
Transport security has blocked a cleartext HTTP
我试了一下,并没有出现你说的错误,能够正常得到图片。
NSError *error;
NSURL *url=[NSURL URLWithString:@"http://wx2.sinaimg.cn/mw690/6f250299gy1fefknh4ml6j21kw163gyj.jpg"];
NSData *data=[NSData dataWithContentsOfURL:url options:0 error:&error];
UIImage *image = [UIImage imageWithData:data];
这篇关于ios - dataWithContentsOfURL 取有些图片返回空?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文