对于字母数字链接,NSURLConnection didFailWithError“不支持的URL”

时间:2012-08-19 22:45:24

标签: iphone ios web nsurlconnection

我正在尝试使用NSURLConnection下载JPG文件。文档无法加载,didFailWithError对象中的代理error状态:不支持的网址

我的网址是字母数字,如下例所示:

http://www.mySite.com/myFolder/123456789_123456789_12-34-56_1234_abcd.jpg

我还尝试使用CFURLCreateStringByAddingPercentEscapes对下划线和减号进行编码,但这没有用。如果我将代码中的链接复制/粘贴到我的网络浏览器,它会正常打开。

可能是什么问题?

2 个答案:

答案 0 :(得分:4)

你为什么不使用NSURL?这将返回一个完全有效的URL,可以传递给NSURLConnection:

[NSURL URLWithString:@"http://www.mySite.com/myFolder/123456789_123456789_12-34-56_1234_abcd.jpg"];

或者如果你想要逃脱:

[NSURL URLWithString:[@"http://www.mySite.com/myFolder/123456789_123456789_12-34-56_1234_abcd.jpg" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

答案 1 :(得分:2)

我解决了这个问题,链接或文件名中没有问题,这是字母数字。问题出在NSURL我错误地输入 fileName 而不是完整的链接名称。以下是显示错误的代码:

NSURLRequest *downloadRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:fileName] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0];

解决方案只是使用文件名替换 fileName 完整的URL字符串。