我正在从服务器下载文件.
我能够成功下载文件.
但每当我取消下载请求(中间)操作并重新开始下载.
下载从先前的进度开始(而不是从零开始).
但我想从零开始重新下载.
我能够成功下载文件.
但每当我取消下载请求(中间)操作并重新开始下载.
下载从先前的进度开始(而不是从零开始).
但我想从零开始重新下载.
设置operation.deleteTempFileOnCancel = YES;也没有帮助
operation.tempPath is returning null (not able to delete temporary file)
我使用以下代码
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:model.downloadUrl]]; operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES]; operation.deleteTempFileOnCancel = YES; // download operation progressive block [operation setProgressiveDownloadProgressBlock:^(AFDownloadRequestOperation *operation,NSInteger bytesRead,long long totalBytesRead,long long totalBytesExpected,long long totalBytesReadForFile,long long totalBytesExpectedToReadForFile) { // calculate current download progress } }]; // download operation completion block [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation,id responSEObject) { } failure:^(AFHTTPRequestOperation *operation,NSError *error) { // operation Failed }]; [operation start];
如果在中间取消下载然后再次启动,我想从零开始下载.我使用的是iOS 7
解决方法
好吧,我刚刚找到了解决方法.我会在这里发布,以防其他人有同样的问题.
在此行之后,您可以检查是否实际创建了tempPath
operation = [[AFDownloadRequestOperation alloc] initWithRequest:request targetPath:path shouldResume:YES]; NSLog("%@",operation.tempPath);
然后将该路径添加到字典中
Nsstring *tempPath = _operation.tempPath; [self.tempPathDict setobject:tempPath forKey:your_key];
Nsstring *tempPath = [self.tempPathDict objectForKey:your_key]; // Cancel the operation you want [operation cancel]; // Remove the tempFile NSError *error = [[NSError alloc] init]; [[NSFileManager defaultManager] removeItemAtPath:tempPath error:&error]; // And last remove the path from the dictionary [self.tempPathDict removeObjectForKey:your_key];
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。