项目中加载图片时因为图片地址中有特殊字符,导致图片无法加载,错误但写法是:
NSString *str = [NSString stringWithFormat:@"%@",@"http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn`Zq$nQzm.jpg!prop"];
NSURL *url = [NSURL URLWithString:str];
[self.testUIImageView setImageWithURL:url];
正确但写法
NSString *str = [NSString stringWithFormat:@"%@",@"http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn`Zq$nQzm.jpg!prop"];
NSString *urlStr = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString:urlStr];
[self.testUIImageView setImageWithURL:url];
错误分析过程,当把urlString不经过处理直接使用的时候发现,传入setImageWithURL的url是null,而把url直接放入浏览器发现url变成了
http://cphead.image.cihi.cn/develop/201504/RjfNR2Bt]DiyZFn%60Zq$nQzm.jpg!prop
显然URL经过了浏览器的编码处理。所以问题解决办法就很明显了。
网友评论