2010-09-24 12 views
1

Je suis en train de télécharger du contenu dans iphone cette fois. C'est absolument la première fois pour moi. J'ai trouvé des liens et des réponses utiles en les recherchant sur google et en les trouvant sur stackoverflow.exemples/tutoriels iPhone post/demande de téléchargement?

Et je suis en mesure de télécharger une image par le code suivant:

NSData *imageData = UIImageJPEGRepresentation(imageView.image, 90); 
    NSString *urlString = @"server-url"; 
    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc]init] autorelease]; 
    [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=\"file\";filename=\"myfile.jpg\"\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]]; 
    //NSString * dataLength = [NSString stringWithFormat:@"%d", [body length]]; 
    //[request addValue:dataLength forHTTPHeaderField:@"Content-Length"]; 

    [request setHTTPBody:body]; 

    NSLog(@"%@",[[NSString alloc] initWithData:[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil] encoding:NSUTF8StringEncoding]); 

Mais j'ai beaucoup de questions sur la façon dont le code ci-dessus fonctionne comme ce qui est limite et ce qui est le format pour elle Qu'est-ce que disposition de contenu et d'autres choses aussi bien. J'ai beaucoup googlé pour comprendre le format d'une demande de publication, mais je n'ai trouvé rien de prêt. Si quelqu'un connaît un bon tutoriel ou des exemples sur la façon dont un format de requête post est construit en iphone alors s'il vous plaît fournir si je peux comprendre comment le le code ci-dessus va fonctionner?

Répondre

1

Vous pouvez consulter la documentation sur le renvoi de valeurs à partir de formulaires avec POST ici.

http://tools.ietf.org/html/rfc2388

comme vous l'avez dit, le code fonctionne, c'est un document expliquant ce que vous voyez et ce que cela signifie

+0

oh excellent travail. J'ai besoin de la RFC pour comprendre la demande. merci – harshalb

+0

d'autres références pour moi: http: //en.wikipedia.org/wiki/MIME, un rfc 2046 le lire maintenant. – harshalb

+0

@hib parfois vous devez lire les détails pour comprendre ce qui se passe donc quand il y a un bug, vous pouvez le comprendre –