2012-03-01 5 views
0

ユーザーがアプリ内で写真を撮って保存できるようにするiPhoneアプリを開発したいと考えています。さらに、「タイトル」「場所」「追加情報」のようなデータが入力された場合にのみ、ユーザは画像をサーバにアップロードすることができる。サーバーへデータをアップロードするIPhone

そうした場合、画像と所属データは私のウェブサーバーにアップロードする必要があります。

私はすでにサーバーからデータを取得するアプリケーションを構築しているため、接続の構築は問題にはなりません。

私はWebサーバーに新しいので、私の質問はカスタム情報と組み合わせて画像をアップロードする最良の方法でしょうか?

画像と所属情報を保存するにはどうすればよいでしょうか?私の推測は、imformation(タイトル、場所、追加情報、画像リンク)のMySQL DBであり、画像はどうですか? Webサーバーでのファイル処理についてはどこで読むことができますか?あなたはiPhoneをWebサーバーにデータをPOSTするために連絡することができ、Webサーバー上のAPIを作成する必要があり、事前

+0

これらは多くの異なる質問であり、規模、専門知識、予算、セキュリティ上の懸念など、他の多くの要素に依存しています...もしあなたがそれを打ち破り、 – Ali

答えて

1

感謝。パケットを構築してiPhoneアプリからデータを送信するためには、NSURLConnectionを作成するだけです。

NSURLConnectionの内部では、POSTパケットであると判断して、要求の本文にデータを追加できます。あなたのイメージデータはUTF8に変換され、データベースの行に沿ってnvarcharまたは何かとして保存されます。

これは、Webアプリケーションの内部動作についての知識なしに、あなたがしなければならないことの概要を理解しています。

+0

ご返信ありがとうございます。 POST経由でNSURLConnectionでデータを送信する方法を知っています。私が知らないことは、サーバーがデータを受け入れて保存する方法です。どのような種類のAPIを作成する必要がありますか? – pmk

+0

ウェブアプリケーションの設定は何ですか? ASP.NET MVC、ASP.NET WebForms、PHPなど... – bdparrish

1

イメージをbase64表現に変換することをお勧めします。これをWebサービスコールに投稿できます。

まず、使用したNSDataにUIImageに変換する:あなたはその後、マット・ギャラガーによって作成されたいくつかの有用なクラスを使用してbase64でエンコードされた文字列にこれを変換することができます

UIImage *img = [UIImage imageNamed:@"MyImage.png"]; 
NSData *imgData = UIImageJPEGRepresentation(img, 1.0); 

からthis post hereを参照してください。ダウンロードして利用可能なコードでは、あなたがデータを文字列に変換することができますNSDataの+ Base64のクラスがあります:

NSString *imgBase64 = [imgData base64EncodedString]; 

あなたはこの文字列を持っていたら、あなたはそれをサーバーに投稿して、ストアのいずれかすることができますその文字列をデコードするか、イメージファイルとしてサーバーに保存します。選択したテクノロジを使用してこれを行う方法の例を見つけることができます。

+0

あなたの返事をありがとう。それは私のために働いているかどうかを知っています。 – pmk

関連する問題