我正在尝试从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
答案 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;
}