回答
你不能暂停,但你可以取消一个连接,然后创建一个新的连接以恢复旧的停止位置。但是,您要连接的服务器必须支持Range标头。将其设置为“bytes = size_already_downloaded-”,并且它应该在你取消它的地方选取。
很好的回答 – 2015-12-31 12:25:26
继续下载,并通过做这样的事情得到文件的其余部分可以设置在HTTP请求头中Range
值:
- (void)downloadFromUrl:(NSURL*)url toFilePath:(NSString *)filePath {
NSMutableURLRequest *request = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
if (!request) {
NSLog(@"Error creating request");
// Do something
}
[request setHTTPMethod:@"GET"];
// Add header to existing file
NSFileManager *fm = [NSFileManager defaultManager];
if([fm fileExistsAtPath:filePath]) {
NSError *error = nil;
NSDictionary * fileProp = [fm attributesOfItemAtPath:filePath error:&error];
if (error) {
NSLog(@"Error: %@", [error localizedDescription]);
// Do something
} else {
// Set header to resume
long long fileSize = [[fileProp objectForKey:@"NSFileSize"]longLongValue];
NSString *range = @"bytes=";
range = [[range stringByAppendingString:[[NSNumber numberWithLongLong:fileSize] stringValue]] stringByAppendingString:@"-"];
[request setValue:range forHTTPHeaderField:@"Range"];
}
}
NSURLConnection * connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if (!connection) {
NSLog(@"Connection failed.");
// Do something
}
}
您也可以使用 - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
检查现有文件是完全通过检查预期的大小下载:[response expectedContentLength];
。如果大小匹配,您可能想要取消连接。
Finaly找到了一个工作解决方案。非常感谢 :-) – byJeevan 2015-07-09 09:44:08
- 1. 恢复下载
- 2. 恢复功能了
- 3. 如何使用自动恢复功能下载ftp文件
- 4. 如何实现文件下载的暂停和恢复功能?
- 5. 暂停和恢复功能
- 6. 功能的恢复对象
- 7. 功能恢复与jquery
- 8. 如何恢复Perl下载?
- 9. 使用ASIHTTPRequest恢复下载
- 10. jQuery中是否有“恢复”或“恢复”功能?
- 11. 如何在iCloud恢复后恢复下载的媒体文件?
- 12. 当下载文件时,NSURLConnection在文件结尾处没有调用didFinishLoading,当下载暂停并恢复时
- 13. 在Flash回调后恢复Jquery功能
- 14. MediaRecorder中的暂停/恢复功能
- 15. 使用NSURLConnection下载
- 16. NSURLConnection下载建议
- 17. 如何恢复中断的下载
- 18. ActiveMQ的暂停/恢复功能无法正常恢复
- 19. 定时器的暂停/恢复功能
- 20. 的NetLogo过程 - 恢复功能
- 21. 是否有FullCalendar的'恢复'功能
- 22. 倒计时功能的恢复
- 23. 覆盖YouTube的恢复播放功能?
- 24. 实现暂停/恢复功能
- 25. 游戏暂停/恢复功能
- 26. 恢复购买功能 - 斯威夫特
- 27. NSURLConnection - 多少左下载
- 28. lftp暂停和恢复下载
- 29. 恢复下载的MD5摘要
- 30. 使用URLStream暂停/恢复下载?
你成功实现了暂停设施吗? – 2011-11-12 10:29:14