Error al enviar una request de publicación HTTP con una image

Estoy atrapado en este problema desde hace días y realmente necesito tu ayuda.

De hecho, estoy tratando de upload un file de mi aplicación de iphone a un server web a través de un script php.

este es mi método en Xcode:

-(void)sendPost{ UIImageView *imageView = [[UIImageView alloc] init]; imageView.image = [UIImage imageNamed:@"back.png"]; NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90); NSString *urlString = @"myscriptishere.php"; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init]; [request setTimeoutInterval:60.0]; [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:@"Content-Disposition: form-data; name=\"userfile\";filename=\"myfile.png\"\r\n"] 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]; NSLog(@"%@",[[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil] encoding:NSUTF8StringEncoding]); // Do any additional setup after loading the view. } 

y mi código php es:

 <?php $domainpath = $_SERVER['DOCUMENT_ROOT']; $target = "./upload"; $public = "/public/upload/"; $target = $target.basename( $_FILES['userfile']['name']) ; $check = getimagesize($_FILES['userfile']['tmp_name']); if (move_uploaded_file($_FILES["file"]["tmp_name"], $domainpath. $public . $_FILES["file"]["name"])) echo "YES"; else echo "NO"; ?> 

Siempre recibo (después de unos segundos, así que supongo que estoy subiendo algo), el server responde "NO".

Ya comprobé que tengo permiso en la carpeta en la que voy a escribir.

¿Alguna idea sobre dónde podría esconderse el problema?

Gracias por adelantado

Tu problema está aquí:

 NSString *urlString = @"myscriptishere.php"; NSMutableURLRequest *request = [[NSMutableURLRequest alloc]init]; [request setTimeoutInterval:60.0]; [request setURL:[NSURL URLWithString:urlString]]; 

Estás publicando en un nombre de file. urlString variable urlString debe tener una dirección completa, incluido el protocolo y el dominio (como @"http://localhost/myscriptishere.php" ).