2011-03-29 14 views
5

¿Hay alguna manera de cargar un archivo de audio de forma asíncrona en mi servidor? Lo implementé sincrónicamente usando la clase NSURLConnection ya.Carga de archivos de audio asíncrono con iOS

Quizás también podría darme un ejemplo de código corto.

Gracias,

Respuesta

8

es absolutamente necesario para utilizar ASIHttpRequest.

Es asombrosamente fácil: es la biblioteca más popular en todos los iOS.

Simplemente seleccione el modo "asíncrono".

Es casi imposible de usar. Básicamente solo escriba la URL.

http://allseeing-i.com/ASIHTTPRequest/How-to-use

disfrutar!


¡Es una noticia sorprendente que Ben ya no haga ASIHttpRequest!

Puede leer todos los detalles aquí:

http://allseeing-i.com/[request_release];

+0

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

+1

Gracias, 'setData' lo hizo por mí. Desafortunadamente no puedo votar porque necesito 15 puntos de repetición); – hgbnerd

+1

He leído que ASIHTTPRequest ya no es compatible con iOS 5 – antf

0

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]; 
Cuestiones relacionadas