美文网首页IOS三人行
iOSURL特殊字符处理

iOSURL特殊字符处理

作者: 面试小集 | 来源:发表于2015-07-31 08:50 被阅读6350次

项目中加载图片时因为图片地址中有特殊字符,导致图片无法加载,错误但写法是:

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经过了浏览器的编码处理。所以问题解决办法就很明显了。

欢迎关注我的公众号与我交流

RiverLi的公众号

相关文章

网友评论

    本文标题:iOSURL特殊字符处理

    本文链接:https://www.haomeiwen.com/subject/rrtvqttx.html