AFNetworking - 在恢复下载文件之前检查下载的字节数?

时间:2013-06-06 12:56:57

标签: iphone ios objective-c ipad afnetworking

我正在使用 AFDownloadRequestOperation 下载AFNetworking Framework上的文件,每当我在下载时暂停文件,然后稍后将其恢复 setProgressiveDownloadProgressBlock 在文件部分下载时,从零开始返回 totalBytesRead 的值。因此,在显示文件调用的剩余百分比之后的块 setCompletionBlockWithSuccess

但是,我想在进度条中显示正确的进度,那么我应该如何获得正确的文件百分比Downloaded?

1 个答案:

答案 0 :(得分:-1)

这是我使用的

 [operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
            NSLog(@"Operation%i: bytesRead               : %d", i, bytesRead);
            NSLog(@"Operation%i: totalBytesRead          : %lld", i, totalBytesRead);
            NSLog(@"Operation%i: totalBytesExpectedToRead: %lld", i, totalBytesExpectedToRead);

            if (totalBytesExpectedToRead > 0)
            {
                 self.progressView.progress = (float)totalBytesRead / totalBytesExpectedToRead;
            }
        }];

引入了支票,因为totalBytesExpectedToRead有时会变为-1,这会打破进度视图进度的平滑性[另请注意,这是NSUrlconnection的一个问题,即hrader将-1返回到预期的大小以便阅读]

(float)totalBytesRead / totalBytesExpectedToRead * 100给出百分比