Sono stato googling senza risultato, e spero per il vostro aiuto su questo.totalBytesExpectedToRead in setDownloadProgressBlock rimane -1 fino a quando il download è terminato
Ho provato a scaricare un'immagine utilizzando AFHTTPRequestOperation streaming (impostando outputstream). Scarica il file, nessun problema. Ma la barra di avanzamento non viene visualizzata correttamente, perché totalBytesExpectedToRead restituisce sempre -1 e restituisce il valore corretto solo al termine del download.
È questa la natura dello streaming? Oppure ho fatto qualcosa di sbagliato?
Il mio codice qui sotto.
Grazie in anticipo!
(vuoto) invokeAsynchronousSTREAMING: (NSString *) percorso locationToSave: (NSString *) Parametri locationToSave: (NSDictionary *) paramDict callid: (NSString *) callid {
NSMutableURLRequest *request = [[AFServerAPIClient sharedClient] requestWithMethod:@"GET"
path:path
parameters:paramDict];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
if(locationToSave!=nil) {
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:locationToSave append:NO];
}
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
//DO SOMETHING
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//DO SOMETHING
}
];
[operation setDownloadProgressBlock:^(NSInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"invokeAsyncronousSTREAMING - Received %lld of %lld bytes", totalBytesRead, totalBytesExpectedToRead);
//DO SOMETHING
}];
[operation start];
} // fine invokeAsyncStreaming