Subir archivo al servidor FTP en iPhone

Me gustaría implementar la lógica que carga el archivo al servidor FTP.

Soy nuevo en el desarrollo de iPhone, así que quiero descubrir el enfoque preferido. Después de examinar la API disponible para esta tarea, he logrado encontrar solo el código que usa CFNetwork (que parece que no se basa en Objective C).

También hay un sistema de carga de URL que usa NSURL, etc., que se basa en Objective C.

Entonces, mi pregunta: ¿es posible utilizar el sistema de carga de URL para implementar la carga de archivos en el servidor FTP?

Gracias.

Uso una página de PHP para publicar un archivo y tengo PHP para manejar la carga ….

Este código se usa para cargar una foto, pero se puede adaptar para trabajar con cualquier archivo.

Código PHP:

 

Código de iPhone:

 - (BOOL)uploadImage:(NSData *)imageData filename:(NSString *)filename{ NSString *urlString = @"http://www.yourdomainName.com/yourPHPPage.php"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; [request setURL:[NSURL URLWithString:urlString]]; [request setHTTPMethod:@"POST"]; NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"]; NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; [request addValue:contentType forHTTPHeaderField: @"Content-Type"]; NSMutableData *body = [NSMutableData data]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n",filename]] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]]; [body appendData:[NSData dataWithData:imageData]]; [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; [request setHTTPBody:body]; NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; NSString *returnString = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease]; return ([returnString isEqualToString:@"OK"]); } 

Método de llamada:

 [self uploadImage:UIImageJPEGRepresentation(imageView.image, 1.0) filename:imageName];