AFNetworking ile dosyaları> 500 Mo indirmem gerekiyor. Bazen, indirme süresi> 10 dakikadır ve uygulama arka planda ise, indirme işlemi tamamlanamaz.AFNetworking + büyük indirme dosyaları + özgeçmiş yüklemeleri
Kısmi yüklemeleri denemek istiyorum. Çok fazla bağlantı buldum ve bu AFHTTPRequestOperation üzerinde pause() ve resume() yöntemleri ile mümkün görünüyor.
Aslında yaptı:
[self.downloadOperation setShouldExecuteAsBackgroundTaskWithExpirationHandler:^{
// Clean up anything that needs to be handled if the request times out
[self.downloadOperation pauseDownload];
}];
DownloadOperation AFHTTPRequestOperation (tekil) bir alt sınıfıdır.
Ve AppDelegate içinde
:- (void)applicationWillEnterForeground:(UIApplication *)application
{
// resume will only resume if it's paused...
[[DownloadHTTPRequestOperation sharedOperation] resumeDownload];
}
sunucu ...
Sorularım başlıklarında Yeni aralık almak için OK:
1) mi-t yapmak için iyi bir yol o ? 2) Özgeçmişin outputStream'i değiştirmesi gerekiyor mu (ek: NO => append: YES)? Veya AFNetworking tarafından bir yerde mi yönetiliyor? (DownloadHTTPRequestOperation olarak) böyle
self.outputStream = [NSOutputStream outputStreamToFileAtPath:self.filePath append:YES];
Something (bulmuyorum): Yardımlarınız için
- (void)pauseDownload
{
NSLog(@"pause download");
[self pause];
}
- (void)resumeDownload
{
NSLog(@"resume download");
self.outputStream = [NSOutputStream outputStreamToFileAtPath:self.filePath append:YES];
[self resume];
}
teşekkür ederiz.
BTW AFNetworking da "non ARC" – pahan
AFNetworking ARC şimdi etkindir. – tangqiaoboy