1

我试图从 url 链接获取图像。

        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);

当我登录缩略图时,我得到这个“ipofserverinnetwork/fishtune/movie/Our Logo 480p back.png” 注意:我没有输入原始 IP。

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

4

2 回答 2

0

你可能需要使用

NSString* escapedUrl = [yourstring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
于 2013-11-12T07:15:23.320 回答
0

是的,这是因为空间,使用

 NSString *myUrl = [NSString stringWithFormat:@"http://%@:800/fishtune/movie/%@.png",[[DBHelper sharedInstance] currentHostIP],[arr objectAtIndex:0]];
   NSString *url = [myUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
于 2013-11-12T07:51:29.417 回答