检查URL文件是否存在

Emi*_*mil 2 iphone url xcode mpmovieplayercontroller

我想知道如何在不先下载数据的情况下检查服务器上是否存在文件.

我有大约30个不同的对象,其中一些连接到服务器上的电影.目前我使用NSData来控制URL是否存在,然后显示电影,或者如果没有,然后提醒用户该对象没有视频.我目前使用的代码:

NSString *fPath = [[NSString alloc] initWithFormat:@"http://www.myserver/%@", [rows idNr]];
NSURL *videoURL = [NSURL URLWithString:fPath];
NSData *videoData = [NSData dataWithContentsOfURL:videoURL];

url = [NSURL URLWithString:fPath];
[fPath release];

if (videoData) {
    [self performSelectorOnMainThread:@selector(playVideo:) withObject:url waitUntilDone:NO];
} else {
    NSLog(@"videodata false");
    errorLabel.hidden = NO;
    activityView.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

"rows idNr"是对象的名称.这个方法正在做我想要的,但问题是NSData首先"下载"文件,当URL被验证为文件时,电影再次加载到电影播放器​​中.这意味着加载文件需要两倍的时间.

建议?

zou*_*oul 7

我花了一些时间来挖掘我之前关于这个主题的一个问题的答案.引用:

您可以使用a NSMutableURLRequest发送HTTP HEAD请求(有一个名为的方法setHTTPMethod).您将获得与GET相同的响应标头,但您不必下载整个资源主体.如果要同步获取数据,请使用 sendSynchronousRequest…方法NSURLConnection.

通过这种方式,您可以知道该文件是否存在,如果存在则不会全部下载.