0

を使用して JPG ファイルをダウンロードしようとしていますNSURLConnection。ファイルの読み込みに失敗し、デリゲートdidFailWithErrorerrorオブジェクトで次のように述べています:サポートされていない URL

私の URL は、次の例のように英数字です。

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

アンダースコアとマイナス記号のエンコードにも使用しようとしましCFURLCreateStringByAddingPercentEscapesたが、これは役に立ちませんでした。コードから Web ブラウザへのリンクをコピーして貼り付けると、正常に開きます。

何が問題なのですか?

4

2 に答える 2

4

NSURL を使用しないのはなぜですか? これは、NSURLConnection に渡すことができる完全に有効な URL を返します。

[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

リンクや英数字のファイル名に問題はありませんでした。問題は、完全なリンク名の代わりにfileNameNSURLを誤って入力したことにありました。エラーを示すコードは次のとおりです。

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

解決策は、単純にfileNameの代わりにファイル名を含む完全な URL 文字列を配置することでした。

于 2012-08-23T20:29:06.600 に答える