Как загрузить изображение на удаленный сервер в iphone? - PullRequest
4 голосов
/ 11 марта 2010

Я пытаюсь загрузить изображение, на которое нажимаю, с помощью камеры.Я пытаюсь использовать следующий код для загрузки изображения на удаленный сервер.

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

Но ничего не публикуется.Ничего не приходит в окне консоли также.Я вызываю этот метод в листе действий.Когда пользователь нажимает первую кнопку листа действий, вызывается этот метод для публикации изображения.

Может ли кто-нибудь помочь мне с этим ...

Любой код будет очень полезен.

Спасибо заранее ...

1 Ответ

3 голосов
/ 11 марта 2010

Вы можете использовать библиотеки сторонних производителей, которые называются asi-http-request . Это просто для вас большая часть тяжелой работы. В вашем случае вы просто делаете следующее:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:imageData];
[request setRequestMethod:@"PUT"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...