1

私は XCode と Objective-C の初心者で、http://www.techotopia.com/index.php/An_Example_iOS_4_iPhone_Camera_Application_(Xcode_4)の例に従い、デバイスでカメラを呼び出すことができるアプリを用意しました。 (私の場合、私はiPod Touchを使用しています)写真をキャプチャすると、画像ビューに写真を表示したり、カメラロールの写真を選択して画像ビューに表示したりできます。これはテスト済みで、私の iPod Touch で完全に動作しました。

ここで、キャプチャした画像をサーバー (例: http://xxx.xxx.xxx.xxx/photo/ )にアップロードできるアップロード ボタンを追加して、コンピューターで画像を表示できるようにします。私にそうさせる方法を提案しますか?または、それができない場合は、このアップロードの問題を処理するために PHP ベースのサーバーをセットアップする必要がありますか?

4

1 に答える 1

0

あなたはこれを行うことができる目的のCで、PHPサーバーに画像をアップロードしたい:

//To convert your image file to raw.
NSData *imageData   = UIImagePNGRepresentation(self.imageView.image);
NSString *urlString = @"http://sample.com/upload.php";
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
//Boundary and Header.
NSString *boundary = @"---------------------------14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
//Your uploading file.
NSMutableData *bodyData = [NSMutableData data];
[bodyData appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
/*
 * Declares the PHP received $_FILES variables.
 * - $_FILES['_varName']['name'] = _sample.png
 */
[bodyData appendData:[@"Content-Disposition: form-data; name=\"_varName\"; filename=\"_sample.png\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[bodyData appendData:[@"Content-Type: application/octet-stream\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

[bodyData appendData:[NSData dataWithData:imageData]];
[bodyData appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:bodyData];
//Received response of server.
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
//Dumps it.
NSLog(@"%@", returnString);

お役に立てますように。

于 2013-06-16T06:45:45.813 に答える