我正在使用 AFDownloadRequestOperation 下载AFNetworking Framework上的文件,每当我在下载时暂停文件,然后稍后将其恢复 setProgressiveDownloadProgressBlock 在文件部分下载时,从零开始返回 totalBytesRead 的值。因此,在显示文件调用的剩余百分比之后的块 setCompletionBlockWithSuccess
但是,我想在进度条中显示正确的进度,那么我应该如何获得正确的文件百分比Downloaded?
答案 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
给出百分比