2010-03-11 6 views
4

카메라의 도움으로 클릭하는 이미지를 업로드하려고합니다. 이미지를 원격 서버에 업로드하려면 다음 코드를 시도하고있다.아이폰의 원격 서버에 이미지를 업로드하는 방법은 무엇입니까?

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

하지만 아무 것도 게시되지 않습니다. 콘솔 창에는 아무 것도 나오지 않습니다. 액션 시트에서이 메소드를 호출합니다. 사용자가 작업 시트의 첫 번째 버튼을 클릭하면이 메서드가 호출되어 이미지가 게시됩니다.

사람은

+0

코드에 아무런 이상이 보이지 않으며 어떤 경우에도 콘솔 창에 출력물이 표시되어야합니다. 디버거를 사용하여 단계별 실행을 시도 했습니까? –

+0

아니요 프로그램을 디버그하지 않으려 고했지만 ... –

답변

3

당신은라는 제 3 자로부터 라이브러리를 사용할 수 있습니다 ... 미리 ...

코드는 매우 도움이 될 것입니다 ...이 함께

고맙습니다을 도와 줄 수 asi-http-request. 대부분의 어려운 일을 간소화 해줍니다. 귀하의 경우, 당신은 단지 다음과 같이하십시오 :

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

하지만 아이폰에서 이미지를 업로드하려고합니다. 이미지는 내 맥에 없습니다 그것은 아이폰 카메라를 사용하여 사용자가 클릭하고 나는 서버에이 이미지를 게시하고 싶습니다. 이걸로 나를 도울 수 있니? –

+0

나는 Mac이 아니라 여기에 아이폰에 대해 이야기하고있다. 이미지를 문서 폴더에 저장 한 다음 동일하게 할 수 있습니다. –

+0

이미지를 문서 폴더에 저장하는 방법 ... –

관련 문제