获取图像无法创建NSURL

时间:2013-11-12 07:03:24

标签: ios nsurl

我试图从网址链接获取图片。

        NSURL *thmbnailUrl = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@:800/fishtune/movie/%@.png",[[DBHelper sharedInstance] currentHostIP],[arr objectAtIndex:0]]];
        NSLog(@"thmbnail:%@",[NSString stringWithFormat:@"http://%@:800/fishtune/movie/%@.png",[[DBHelper sharedInstance] currentHostIP],[arr objectAtIndex:0]]);
        NSData *data = [NSData dataWithContentsOfURL:thmbnailUrl];
        NSLog(@"movimgdata:%@",data);
        UIImage *img = [[UIImage alloc]initWithData:data];
        NSLog(@"movimg:%@",data);
        NSData *imgData = UIImagePNGRepresentation(img);

当我登录thmbnail我得到这个“ipofserverinnetwork / fishtune / movie / Our Logo 480p back.png” 注意:我没有把原来的ip。

当我记录数据时我得到null,当然img也将为null。我真的不知道为什么我会变空。因为当我尝试在浏览器中输入网址时,它会显示图像。我在我的应用程序的另一部分中使用了相同的代码并且它可以工作但是当我在其中使用它时它失败了。是因为“Our_Logo_480p”之间的空格吗?

2 个答案:

答案 0 :(得分:0)

您可能需要使用

NSString* escapedUrl = [yourstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

答案 1 :(得分:0)

是的,因为空格,请使用

 NSString *myUrl = [NSString stringWithFormat:@"http://%@:800/fishtune/movie/%@.png",[[DBHelper sharedInstance] currentHostIP],[arr objectAtIndex:0]];
   NSString *url = [myUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];