Iphone 无法从URL获取UIImage
我正在尝试从URL获取图像,但无法执行此操作。 有人能告诉我出了什么问题吗 找到下面的代码供您参考Iphone 无法从URL获取UIImage,iphone,ios,ipad,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 =
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,这是因为imageURL中有“{”和“}”,因此无法获取图像,所以只需替换此大括号即可
-(NSString*)replace:(NSString*)string
{
NSString *str = [[string stringByReplacingOccurrencesOfString:@"{" withString:@"%7B"] stringByReplacingOccurrencesOfString:@"}" withString:@"%7D"];
return str;
}
试试这个
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;
我刚刚创建了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创建的演示:-
谢谢:)您必须按以下方式创建url对象:
NSURL *url = [NSURL URLWithString:[ImageURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
然后使用该url获取数据。希望它对您有用。从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;
}
代码看起来应该可以工作(尽管url是一个未使用的变量)。我怀疑img为零。你能用NSLog(@“%@”,img)吗;在最后一行之前。@danh:是的,它是零,但是如果我打开url,我就有了图像!!!!!请为否决票留下评论,这有助于我将来同意你的意见,否决票应该解释清楚。零img是你的问题。图像加载到web上并不重要,它也加载到你的代码中,但是你试图在ui的不存在部分显示它。如果你甚至不打算使用它,为什么你要创建
url
对象?你能解释一下为什么会重放字符串?我也怀疑这一点,但我将url复制到浏览器中并加载。现在试试bro。您遇到了问题,因为您的url中有{和},并且您知道,当我们在url中有空格时,我们将放入%20,因此在本例中,我们将放入%7B和%7D,如果您不明白我的意思,则只需在浏览器中粘贴您的ImageURL,然后点击,然后在地址栏中检查url@Nitinghel,这将用其他字符串替换字符串中特定字符串的出现无需将{替换为%7您只需将以下内容:-[ImageURL stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]
@NitinGohel->实际上我以前使用过这个方法,但我遇到了问题,请尝试使用您的代码解析此url…..http%3A%2F%2Fwww.drinkbin.com%2Fimages%2feals%2Fulj0w6tt4gu0i7ijqyts.jpg我们如何在androidin android中执行相同的操作?您可以用%7b替换{并用%7d替换}吗