无法从URL获取UIImage

时间:2013-01-09 06:12:38

标签: iphone ios ipad

我正在尝试从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

5 个答案:

答案 0 :(得分:8)

我只是创建你的ImageURL的DEMO,你需要把Code Bellow: -

- (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];

}

下载我刚创建的图片网址演示: -

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

谢谢:)

答案 1 :(得分:0)

这是因为你的imageURL中有“{”和“}”所以你无法获得你的图像,所以只需替换这个大括号。

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

    return str;
}

答案 2 :(得分: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;

答案 3 :(得分:0)

您必须按以下方式创建您的网址对象:

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

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

答案 4 :(得分: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;
}