每个网址都没有downloadTaskWithRequest的进展

时间:2015-02-01 23:15:45

标签: ios afnetworking-2

我正在使用downloadTaskWithRequest下载一些文件,我正在使用KVO来观察进展。

这是我的代码:

// create the request from an url
NSMutableURLRequest *request = [mySession.requestSerializer requestWithMethod:@"GET" URLString:url parameters:nil error:&serializationError];

NSProgress *localProgress = nil;

NSURLSessionDownloadTask *downloadTask = [mySession downloadTaskWithRequest:request 
    progress:localProgress
    destination:^NSURL *(NSURL *targetPath, NSURLResponse *response)
    { ... }
    completionHandler:^(NSURLResponse *response, NSURL *filePath, NSError *error)
    { ... }];

下载文件效果很好,但为什么在某些情况下我可以跟进进度,而对于其他人来说,进度永远不会更新?

进展确定的网址: url = @"http://www.fond-ecran-hd.net/pc-driver/1351.jpg";

没有进展的网址: url = @"http://lorempixel.com/1920/1920/";

我知道工作和非工作情况之间的区别在于,某些URL是直接链接到文件(/path/file.ext)而不是其他URL。 但我想知道为什么,如果有解决办法......

1 个答案:

答案 0 :(得分:0)

我从URL获取的HTTP Response对象必须包含一个名为Content-Length的标题,它将给出文件的长度!

如果服务器没有返回此信息,则似乎无法跟踪下载进度。