2010-03-11 3 views
4

J'essaie de télécharger une image sur laquelle je clique avec l'aide de l'appareil photo. J'essaie le code suivant pour télécharger l'image sur le serveur distant.Comment télécharger une image sur un serveur distant dans un iphone?

-(void)searchAction:(UIImage*)theImage 
{ 
    UIDevice *dev = [UIDevice currentDevice]; 
    NSString *uniqueId = dev.uniqueIdentifier; 

    NSData * imageData = UIImagePNGRepresentation(theImage); 

    NSString *postLength = [NSString stringWithFormat:@"%d",[imageData length]]; 

    NSString *urlString = [@"http://www.amolconsultants.com/im.jsp?" stringByAppendingString:@"imagedata=iPhoneV0&mcid="]; 
    urlString = [urlString stringByAppendingString:uniqueId]; 
    urlString = [urlString stringByAppendingString:@"&lang=en_US.UTF-8"]; 

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease]; 
    [request setURL:[NSURL URLWithString:urlString]]; 
    [request setHTTPMethod:@"POST"]; 
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
    [request setHTTPBody:imageData]; 

    NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    if (conn == nil) 
    { 
     NSLog(@"Failed to create the connection"); 
    } 
} 

Mais rien ne se passe. Rien ne vient aussi dans la fenêtre de la console. J'appelle cette méthode dans la feuille d'action. Lorsque l'utilisateur clique sur le premier bouton de la feuille d'action, cette méthode est appelée pour publier l'image.

Quelqu'un peut-il me aider ...

Tout code sera très utile ...

Thanx à l'avance ...

+0

Je ne vois rien de mal dans votre code, et dans tous les cas vous devriez voir la sortie dans la fenêtre de votre console. Avez-vous essayé de le franchir avec le débogueur? –

+0

Non, je n'ai pas essayé de déboguer le programme ... –

Répondre

3

Vous pouvez utiliser les bibliothèques d'un tiers appelé asi-http-request. Il vous simplifie la plupart des travaux difficiles. Dans votre cas, vous faites juste ce qui suit:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request appendPostData:imageData]; 
[request setRequestMethod:@"PUT"]; 
+0

mais j'essaye de télécharger une image de l'iphone. l'image n'est pas dans mon mac, il sera cliqué par l'utilisateur en utilisant l'appareil photo iphone et je veux poster cette image sur le serveur. Pouvez-vous m'aider avec ceci ... –

+0

Je parle d'iphone ici, pas de mac. Vous pouvez enregistrer l'image dans le dossier Documents, puis faire exactement la même chose. –

+0

Comment enregistrer l'image dans le dossier de documents ... –

Questions connexes