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被验证为文件时,电影再次加载到电影播放器中.这意味着加载文件需要两倍的时间.
建议?
我花了一些时间来挖掘我之前关于这个主题的一个问题的答案.引用:
您可以使用a
NSMutableURLRequest
发送HTTP HEAD请求(有一个名为的方法setHTTPMethod
).您将获得与GET相同的响应标头,但您不必下载整个资源主体.如果要同步获取数据,请使用sendSynchronousRequest…
方法NSURLConnection
.
通过这种方式,您可以知道该文件是否存在,如果存在则不会全部下载.
归档时间: |
|
查看次数: |
8059 次 |
最近记录: |