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

しかし、何も投稿されていません。コンソールウィンドウにも何も表示されません。アクションシートでこのメソッドを呼び出しています。ユーザーがアクションシートの最初のボタンをクリックすると、このメソッドが呼び出されて画像が投稿されます。

誰かがこれで私を助けることができます...

どんなコードでも非常に役立ちます...

よろしくお願いします...

4

1 に答える 1

3

asi-http-requestと呼ばれるサードパーティのライブラリを使用できます。それはあなたのためにほとんどの大変な仕事を単純にやり遂げます。あなたの場合、あなたはただ次のようにします:

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request appendPostData:imageData];
[request setRequestMethod:@"PUT"];
于 2010-03-11T16:53:39.023 に答える