1

我想在来自 Url 的 imageview 中显示图像,它的名称中有空格......</p>

// NSString* imageURL = @"http://dev.squealrs.com/imaging.php/image-name.jpg?height=45&noimg=100&image=/wp-content/uploads/sqbrands/GMT-July-cover1344489425.jpg";

NSString* imageURL = @"http://dev.squealrs.com/imaging.php/image-name.jpg?height=45&noimg=100&image=/wp-content/uploads/sqbrands/Sookie Stackhouse small1343970416.jpg";

NSData* imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:imageURL]];

UIImage* image = [[UIImage alloc] initWithData:imageData];
[ImageWithspace setImage:image];

但是没有显示图像,因为未注释的 imageURL 在 imagename 中包含空格,如果我使用带注释的 imageURL,而不是在 imageview 中显示图像:( ....给我一些解决方案

4

4 回答 4

5

您需要对网址进行编码:

NSString *encoded = [imageURL stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
于 2012-09-12T06:46:11.333 回答
0

在使用 URL 创建 NsURL 之前,您需要对 URL 进行编码。有一个内置类可以帮助您对字符串进行编码。

下面是一个编码字符串以用于 NSURL 的示例:NSURL Encoding in ObjC

于 2012-09-12T06:44:51.767 回答
0
 NSURL *url = [[NSURL alloc] initWithString:[myurlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

发生这种情况是因为 url 中的空格没有被处理,因此使用了百分比编码

于 2012-09-12T06:48:29.613 回答
0
 NSString* imageURL = @"http://dev.squealrs.com/imaging.php/image-name.jpg?height=45&noimg=100&image=/wp-content/uploads/sqbrands/Sookie Stackhouse small1343970416.jpg";
NSString *spaceUrl = [[NSString stringWithFormat:imageURL] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
spaceUrl = [spaceUrl stringByReplacingOccurrencesOfString:@" " withString:@"%20"];


NSData* imageData = [[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:spaceUrl]];

UIImage* image = [[UIImage alloc] initWithData:imageData]
    [ImageWithspace setImage:image];

只需复制粘贴此代码并查看。如果您仍然有问题,请随时询问

于 2012-09-12T06:53:26.367 回答