作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在从服务器下载文件。
我能够成功下载文件。但是每当我取消下载请求(中间)操作并重新开始下载时。下载从上一个进度开始(不是从零开始)。但我想从零开始重新下载。
设置 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];
关于ios - 如何取消AFdownloadrequestoperation而不保留之前的进度(删除临时文件)iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23604806/
请帮帮我,为什么我启动AFDownloadRequestOperation,界面无 react ,但我下载了文件,界面有反应,请问如何解决? 我觉得是不是跟文件的写入速度有关,下载太快,写入太快,能一
我从 iOS 开始,我正在尝试编写一个简单的文件下载器,带有 webview。 我需要下载多个文件,但不能同时调用(像我见过的例子);它应该就像一个桌面浏览器:它应该能够在浏览的同时添加一个新的操作,
我是一名优秀的程序员,十分优秀!