Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 无法从URL获取UIImage_Iphone_Ios_Ipad - Fatal编程技术网

Iphone 无法从URL获取UIImage

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 =

我正在尝试从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,这是因为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替换}吗