AFNetworking - Laden Sie mehrere Dateien + monitoring über UIProgressView
Ich versuche mich zu ändern mein code aus ASIHTTPRequest zu AFNetworking. Derzeit möchte ich wählen Sie 10-15 verschiedene HTTP-URLs (Dateien) und laden Sie Sie auf einen Ordner "Dokumente".
Mit ASIHTTPRequest, war ziemlich einfach mit
[myQueue setDownloadProgressDelegate:myUIProgressView];
In AFNetworking ich kann nicht herausfinden, wie es zu tun. Ich habe den folgenden code dem downloads die Dateien, speichert Sie und benachrichtigt Sie, wenn downloads einer Datei erfolgreich, aber ich kann keinen Fortschrittsbalken für diese Warteschlange mit insgesamt Größe.
for (i=0; i<3; i++) {
NSString *urlpath = [NSString stringWithFormat:@"http://www.domain.com/file.zip"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlpath]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"testFile%i.zip",i]];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
[operation setDownloadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
NSLog(@"Sent %d of %d bytes, %@", totalBytesWritten, totalBytesExpectedToWrite, path);
}];
[myQueue addOperation:operation];
}
Hallo John, ich würde es schätzen, wenn Sie akzeptieren meine Antwort, wenn es für Sie funktioniert, oder wenn es nicht für Sie beantwortet bitte sagen Sie uns, was das Problem ist?
Ich denke, es ist, weil Sie einen Tipp geben, wie die Fortschritte HUD für nur einen download, und was John will, ist eine progressbar für die gesamte queue.
Ich denke, es ist, weil Sie einen Tipp geben, wie die Fortschritte HUD für nur einen download, und was John will, ist eine progressbar für die gesamte queue.
InformationsquelleAutor John | 2012-01-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie zum erstellen Ihrer eigenen UIProgressView, das nenne ich progressView für das Beispiel.
Dann aktualisieren Sie einfach die progress bar:
InformationsquelleAutor Jeshua Lacock
Incompatible block pointer types sending 'void (^)(NSInteger, long long, long long)' to parameter of type 'void (^)(NSUInteger, long long, long long)'
AfNetworking ist sich viel verändert, überprüfen Sie die neuesten operation-block.
InformationsquelleAutor Muzammil
Vorstellen, herunterladen 200+ Dateien diese Weise durch die Annahme einer Dateigröße von 1 MB.
Was passiert, wenn Sie erstellen, wie ein Haufen von Anfragen (mit einem Standard-timeout von 30s)?
Gleich nach 30 Sekunden werden Sie bombardiert von timeout-Fehlern.
Just sayin'
Martin
InformationsquelleAutor Martin