現在作っているアプリでは、iPhoneからファイルとデータをアップロードする仕組みが必要になり調べてみたのですが、なかなか目的を達成してくれるクラスやライブラリが見つからなかったので自分で作ってみました。
ソースとテストで使ったPHPのファイルもgithubのここにおいています。
http://wiki.github.com/mmlemon/HTTPMultipartPost
ソースにはcopyrightとか書いていますが、改編などはご自由にどうぞ。ただし、こちらではいかなる責任も負いませんのでご了承下さい。
内容は、こんな感じです。
MultipartPostHelper:このクラスを使ってファイルのアップロードを行います。
実際の使い方は、HTTPPostSample2ViewController.mをご確認下さい。
使用する流れは下記の通りです:
- 送信先URLを設定する
- 文字列データ部分を作成する(Key用の配列と値用の配列が必要です。)
- バイナリデータ部分を作成する(このとき、data=実際のデータ:NSData、orgName:ファイル名、postName:Postで使われる名前。例:orgName=”file.txt”, postName=”postFile”の場合、PHPでは、$_FILES[“postFile”][“name”]とすると、”file.txt”が返されます。)
- 文字データをMultipartPostHelperに追加
- バイナリデータをMultipartPostHelperに追加
- sendで送信
以上です。