0

我正在尝试使用NSURLConnection. 文件加载失败,并且委托didFailWithErrorerror对象中声明:不支持的 URL

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

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

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

可能是什么问题呢?

4

2 回答 2

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]];
于 2012-08-19T22:56:41.960 回答
2

我解决了这个问题,链接或文件名没有问题,它是字母数字。问题在于NSURL我错误地将文件名而不是完整的链接名称。这是显示错误的代码:

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

解决方案是简单地将完整的 URL 字符串与文件名一起放置,而不是fileName 。

于 2012-08-23T20:29:06.600 回答