【问题标题】:NSURLConnection is not downloading files with spaces in the nameNSURLConnection 没有下载名称中带有空格的文件
【发布时间】:2011-09-25 01:16:29
【问题描述】:

我正在将图像加载到 iPhone 上的图库中,但遇到了问题。很明显,当尝试从 Internet 下载图像时,脚本中的某些内容对文件名中的空格不满意。

这是连接线。

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

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

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

现在我知道我可以返回并更新所有照片、更新数据库并更改脚本,使其不再添加空格……但我们正在谈论数千张照片。

还有建议?

【问题讨论】:

    标签: iphone nsurlconnection filenames nsurl


    【解决方案1】:

    对要作为参数包含的文本使用NSStringstringByAddingPercentEscapesUsingEncoding: 方法。

    来自Apple docs

    stringByAddingPercentEscapesUsingEncoding:

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

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

    【讨论】:

      【解决方案2】:

      你需要做的字符串:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 2015-06-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多