39 votes

NSData & NSURL - url avec espace ayant un problème

J'ai code suivant dans mon application.

NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:pathOfThumbNail]];

pathOfThumbNail a chemin d'accès suivant


http://70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg


Quand j'ai ouvert au-dessus de chemin d'accès dans le navigateur safari - chemin est changé automatiquement et l'image est correctement affiché.

http://70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg


Mais dans l'iPhone, en raison de l'espace dans le chemin d'accès, l'image n'est pas chargée dans nsdata.

99voto

Zaph Points 40557

Utilisation: stringByAddingPercentEscapesUsingencoding:

Retourne une représentation du récepteur à l'aide d'un codage donnée permettant de déterminer le pourcentage échappe nécessaires pour convertir le récepteur dans un cadre juridique chaîne d'URL.

-(NSString *)stringByAddingPercentEscapesUsingEncoding:(NSStringEncoding)encoding

Une représentation du récepteur à l'aide d'encodage permettant de déterminer le pourcentage échappe nécessaires pour convertir le récepteur dans un cadre juridique chaîne d'URL. Retourne nil si l'encodage ne peut pas coder un caractère particulier

Ajouté par demande par @règle

NSString* urlText = @"70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg";
NSString* urlTextEscaped = [urlText stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url = [NSURL URLWithString: urlTextEscaped];
NSLog(@"urlText:        '%@'", urlText);
NSLog(@"urlTextEscaped: '%@'", urlTextEscaped);
NSLog(@"url:            '%@'", url);

NSLog de sortie:

urlText: '70.84.58.40/projets/igolf/TipThumb/GOLF 58B.jpg' 
urlTextEscaped: '70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg' 
url: '70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg' 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X