2

我正在尝试从 URL 获取图像,但我无法做到。谁能让我知道出了什么问题

找到下面的代码供您参考。

NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG";


    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]];

  img.image = [UIImage imageWithData:imageData];

其中 img 是 UIImageView

4

5 回答 5

8

我只是创建你的 ImageURL 的演示,你只需要在下面放代码:-

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG";


    ImageURL =[ImageURL stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];

    NSLog(@"img url ==%@",ImageURL);
    NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:ImageURL]];
    UIImage *MYimage = [UIImage imageWithData:data];

    NSLog(@"==%@",MYimage);
    [imgview setImage:MYimage];

}

下载我刚刚创建的图像 URL 的演示:-

http://www.sendspace.com/file/m966ae

谢谢 :)

于 2013-01-09T06:30:17.633 回答
0

这是因为您的 imageURL 中有“{”和“}”,因此您无法获取图像,因此只需替换此大括号即可。

-(NSString*)replace:(NSString*)string
{
    NSString *str = [[string stringByReplacingOccurrencesOfString:@"{" withString:@"%7B"] stringByReplacingOccurrencesOfString:@"}" withString:@"%7D"];

    return str;
}
于 2013-01-09T06:17:56.350 回答
0

试试这个.......

NSString *ImageURL = @"http://images.pcmac.org/SiSFiles/Schools/TN/JacksonMadisonCounty/RoseHillMiddle/Uploads/Locations/{B690E93E-F7C9-48AF-B72A-BFF944FA6D4A}_104_9169.JPG";
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:ImageURL]];
UIImage *IMG = [UIImage imageWithData:data];
img.image = IMG;
于 2013-01-09T06:22:03.573 回答
0

您必须通过以下方式创建您的 url 对象:

NSURL *url = [NSURL URLWithString:[ImageURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

然后使用该 url 来获取数据。希望它对你有用。

于 2013-01-09T06:32:47.767 回答
0

有多种方法可以从 Url 获取图像。你可以使用任何人。但我尝试过的最快的是

-(UIImage*)getImageFromURLwithUrl:(NSString*)imgURLStr
{
    NSMutableURLRequest *requestWithBodyParams = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:imgURLStr]];
    NSData *imageData = [NSURLConnection sendSynchronousRequest:requestWithBodyParams returningResponse:nil error:nil];
    UIImage *image = [UIImage imageWithData:imageData];

    return image;
}
于 2013-01-09T07:04:20.170 回答