NSURLConnection不会下载名称中包含空格的文件

时间:2011-06-29 10:46:14

标签: iphone nsurlconnection filenames nsurl

我正在努力将图片加载到iPhone上的图库中并遇到问题。很明显,当尝试从互联网上下载图像时,脚本中的某些内容不满意文件名中的空格。

这是连接线。

NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:str]] delegate:self];

我在NSURL中传递一个NSString。它适用于所有没有空格的照片。

邪恶照片的例子: thumbs_WJ(16).jpg thumbs_WJ(25).jpg

现在我知道我可以回去更新所有照片,更新数据库,然后更改脚本以便不再添加空格......但我们正在谈论数千张照片。

和建议?

3 个答案:

答案 0 :(得分:5)

你需要做一个字符串:

str =[str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];

答案 1 :(得分:4)

对要包含在参数中的文本使用NSString的{​​{1}}方法。

来自Apple docs

  

stringByAddingPercentEscapesUsingEncoding:

     

使用给定的编码返回接收器的表示,以确定将接收器转换为合法URL字符串所需的转义百分比。

如果您的字符串是“普通”字符串,则可以使用stringByAddingPercentEscapesUsingEncoding:作为编码。否则,请指定字符串所在的编码。

答案 2 :(得分:2)

只需在urlstring中用“%20”替换空格即可。