我正在尝试使用NSURLConnection
下载JPG文件。文档无法加载,didFailWithError
对象中的代理error
状态:不支持的网址
我的网址是字母数字,如下例所示:
http://www.mySite.com/myFolder/123456789_123456789_12-34-56_1234_abcd.jpg
我还尝试使用CFURLCreateStringByAddingPercentEscapes
对下划线和减号进行编码,但这没有用。如果我将代码中的链接复制/粘贴到我的网络浏览器,它会正常打开。
可能是什么问题?
答案 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字符串。