Je développe une application hybride (rails 3 + iPhone) et je veux envoyer un certain nombre de grandes chaînes et images à un serveur rails 3. Je veux faire une méthode POST à partir de l'iPhone. Quelqu'un peut-il m'aider sur la façon de faire cela? puisque dans ce cas il n'y aura pas de formulaire dans les vues comment dois-je accepter les données? Merci à l'avanceComment envoyer des données XML ou image de l'iPhone à un serveur 3 rails?
0
A
Répondre
0
Voici un code pour télécharger une image par POST à une URL:
UIImage *myImage = [UIImage imageNamed:@"example.png"];
NSData *imageData = UIImageJPEGRepresentation(myImage, 0.9);
NSString *url = [NSURL URLWithString:@"http://postingurl.com/posthere"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---------------------------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=\"fileid\"; filename=\"myfile.png\"\r\n"]
dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet-stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:imageData];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil e rror:nil];
[request release];
//Log return..
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(returnString);
[returnString release];
Vous ajoutez plus de lignes pour Content-Disposition pour inclure d'autres domaines.
merci. mais savez-vous comment accepter les requêtes post HTTP dans des rails sans formulaires? – samdeV
Ans: J'ai compris comment faire cela avec ASIFormDataRequest http://allseeing-i.com/ASIHTTPRequest/Comment utiliser – samdeV