Enviando archivos desde iOS a PHP usando POST
Estoy tratando de enviar un archivo de audio a un servidor PHP. Aquí está el código de Objective-C:
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSLog(@"File Size: %i",[data length]);
//set up request
NSMutableURLRequest *request= [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
//required xtra info
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
//body of the post
NSMutableData *postbody = [NSMutableData data];
[postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"thefile\"; filename=\"recording\"\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[postbody appendData:data];
[postbody appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postbody];
apiConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Y aquí está el código PHP:
if (is_uploaded_file($_FILES['thefile']['tmp_name'])) {
echo "FILE NAME: ".$_FILES['thefile']['name'];
} else {
echo "Nothing";
}
El tamaño del archivo varía según la duración del audio que se está grabando, pero hay datos.
Estoy recibiendo una respuesta de "Nada".