Pergunta

Estou tentando fazer upload de uma imagem que estou clicando com a ajuda da câmera. Estou tentando o seguinte código para fazer o upload da imagem no servidor remoto.

-(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");
    }
}

Mas nada está sendo publicado. Nada vem na janela do console também. Estou chamando esse método na folha de ação. Quando o usuário clica no 1º botão da folha de ação, esse método é chamado para postar a imagem.

Alguém pode me ajudar com isso...

Qualquer código será muito útil ...

Obrigado com antecedência ...

Foi útil?

Solução

Você pode usar as bibliotecas de terceiros chamados ASI-HTTP-REQUEST. Simplificando para você a maioria dos trabalhos duro. No seu caso, você apenas faz o seguinte:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:imageData];
[request setRequestMethod:@"PUT"];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top