2013-01-04 15 views
6

Używam AFNetworking i mogę pobrać plik.AFNetworking - zapisywanie pobranego pliku

Pod koniec pobierania nie pojawia się w katalogu, który ustawiłem.

Zrobiłem kilka wyszukiwania i natknąłem się na kilka pytań tutaj na SO, gdzie jest sugerowane używać:

[_operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 

Ale to pojawia się z błędem i to tak dalece, jak nie mogę powiedzieć o których mowa w ich dokumentacja.

błąd jest:

/Użytkownicy/Jeff/Dokumenty/Dropbox-01/Dropbox/Xcode Projekty/Spróbuj Outs - JEFF/testDownload/testDownload/JWKDownloadViewController.m: 177: 10: Brak widocznych @ interfejs dla „AFURLConnectionOperation” deklaruje selektor „setCompletionBlockWithSuccess: awaria:”

Czy jest aktualizowany linia muszę korzystać ???

+0

Upewnij się, zapisać plik, gdy jej całkowicie pobrane – Dhara

+0

To właśnie ta linia jest dobrze? _operation.outputStream = [NSOutputStream outputStreamToFileAtPath: _streamingURL append: NO]; –

+0

@Dhara plik tutaj pobiera bajt wg bajtu. –

Odpowiedz

4

Tak upewnij się, że u wykorzystali poprawną ścieżkę do NSOutputStream

Dodaj to:

[_operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
NSLog(@"Successfully downloaded file"); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 
[_operation start]; 
+0

Tak, musiałem sprawdzić wyjście - zapisywałem ścieżkę, ale potem zapomniałem dodać do niej nazwę pliku :-) –

8
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"..."]]; 
AFHTTPRequestOperation *operation = [[[AFHTTPRequestOperation alloc] initWithRequest:request] autorelease]; 

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"filename"]; 
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 start]; 
+0

jak to jest w AFNetworking 3.0 ??????? – do01

+0

jak przekazać w nim parametr? –