回答
你不能暫停,但你可以取消一個連接,然後創建一個新的連接以恢復舊的停止位置。但是,您要連接的服務器必須支持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