Es 2015. Acaba de lanzar iOS 9.1. AFNetworking se ha convertido en la biblioteca más popular para gestionar solicitudes HTTP. It supports asynchronous file uploads. Aquí hay un ejemplo:
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];
NSURL *URL = [NSURL URLWithString:@"http://example.com/upload"];
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
NSURL *filePath = [NSURL fileURLWithPath:@"file://path/to/image.png"];
NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request fromFile:filePath progress:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
} else {
NSLog(@"Success: %@ %@", response, responseObject);
}
}];
[uploadTask resume];
Gracias por su respuesta. Lo configuré correctamente y recibí una respuesta del servidor hasta el momento. Quería enviar 'NSData' pero' [request addPostValue: file forKey: @ "file"]; 'no funcionó para mí. ¿Alguna sugerencia? – hgbnerd
Gracias, 'setData' lo hizo por mí. Desafortunadamente no puedo votar porque necesito 15 puntos de repetición); – hgbnerd
He leído que ASIHTTPRequest ya no es compatible con iOS 5 – antf