Ale*_*der 4 iphone cocoa-touch objective-c ios afnetworking
我正在尝试实现下载大文件并向用户显示当前进度,但阻止:
-[AFURLConnectionOperation setDownloadProgressBlock:]
Run Code Online (Sandbox Code Playgroud)
返回错误bytesRead和totalBytesRead值(它们比它们应该小).
例如:如果我有一个90MB的文件,当它完全下载时,最新的块调用setDownloadProgressBlock:给了我totalBytesRead大约30MB的值.另一方面,如果文件大小为2MB,则最新的块调用会给出正确的totalBytesRead2MB值.
AFNetworking从github更新到最新版本.
如果AFNetworking无法正确执行,我可以使用什么解决方案?
编辑:我已经确定即使文件没有完全下载(每次使用相对较大的文件都会发生这种情况)AFNetworking调用成功块:
-[AFHTTPRequestOperation setCompletionBlockWithSuccess:failure:]
Run Code Online (Sandbox Code Playgroud)
我在这里问了一个关于这种情况的类似问题,但没有得到任何答案.
我可以检查下载的代码和实际文件大小,但AFNetworking没有继续部分下载的API.
Fel*_*lix 12
我对AFNetworking中的setDownloadProgressBlock没有任何问题.
维基解释了如何跟踪下载进度: https //github.com/AFNetworking/AFNetworking/wiki/AFNetworking-FAQ
对于进度跟踪,您不需要 bytesRead(在特定回调中写入的字节数).
示例代码:
[downloadoperation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
float progress = ((float)totalBytesRead) / totalBytesExpectedToRead;
self.progressView.progress = progress;
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10587 次 |
| 最近记录: |