如何在iOS中将URL链接转换为UIImage?

时间:2014-07-09 10:49:07

标签: ios objective-c uiimage

我正在使用UIImage View并像这段代码一样添加Image

 NSURL *imageURL = [NSURL URLWithString:@"http://d1mxp0yvealdwc.cloudfront.net/e92c939d-e83b-4592-b367-327fa67339fb/1001 123.jpg"];
NSLog(@"imge %@",imageURL);

NSData *imageData = [NSData dataWithContentsOfURL:imageURL];
    NSLog(@"imge %@",imageData);
UIImage *image = [UIImage imageWithData:imageData];
   NSLog(@"imge %@",image);
[image_view setImage:image];

但是所有的nslog都显示为null实际上url存在问题,但是这个在网上显示图像所以请告诉我这里有什么问题。

2 个答案:

答案 0 :(得分:4)

尝试以下代码:

NSURL *aURL = [NSURL URLWithString:[@"http://d1mxp0yvealdwc.cloudfront.net/e92c939d-e83b-4592-b367-327fa67339fb/1001%20123.jpg" stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];

UIImage *aImage = [UIImage imageWithData:[NSData dataWithContentsOfURL:aURL]];

这很好...... !!!

答案 1 :(得分:2)

您的网址字符串有一个空格,需要用百分比转义替换。

要么使用这个 -

NSURL *imageURL = [NSURL URLWithString:@"http://d1mxp0yvealdwc.cloudfront.net/e92c939d-e83b-4592-b367-327fa67339fb/1001%20123.jpg"];

或者

NSString *imageUrlString = @"http://d1mxp0yvealdwc.cloudfront.net/e92c939d-e83b-4592-b367-327fa67339fb/1001 123.jpg";
NSString *encodedImageUrlString = [imageUrlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *imageURL = [NSURL URLWithString: encodedImageUrlString];