ネット上のサーバーにデータを送るには(POSTメソッド)

POSTメソッドでサーバーにデータを送るには、送信データをセットした後にhttpコネクションを接続します。

例)
サーバー上のプログラム"WritePost.cgi"にPostメソッドでリソース内のデータ"sample.gif"を送信し、サーバーに保存します。
HttpPostSample.zip(この例の実際のプロジェクトと"WritePost.cgi")
※ADF設定(*.JAMファイル)の"UseNetwork" に "http"の設定が必要。
※DoJa SDK シミュレーション環境で実行する場合、[ネットワーク設定]のADFのURLを必ず設定して下さい。

import com.nttdocomo.ui.*;
import javax.microedition.io.Connector;
import com.nttdocomo.io.HttpConnection;
import java.io.*;

public class HttpPost extends IApplication
{
    public void start()
    {
        // 保存処理をするCGIのURL
        String CGI = getSourceURL() + "WritePost.cgi";
        
        HttpConnection http=null;
        
        // バッファを作成
        byte [] buf = new byte[1024];
        
        try
        {
            // HTTPコネクションを接続
            http = (HttpConnection)
            (Connector.open(CGI,Connector.READ_WRITE));
            http.setRequestMethod(HttpConnection.POST);
            http.setRequestProperty("Content-type","image/gif");
            
            OutputStream os=http.openOutputStream();
            
            // リソースにアクセス
            DataInputStream in;
            in=Connector.openDataInputStream("resource:///sample.gif");
            int len;
            // バッファを介して送信データセット
            while((len=in.read(buf))>0)
            {
                os.write(buf,0,len);
            }
            in.close();
            os.close();
            
            // 実際の接続
            http.connect();
        }
        catch(IOException e)
        {
            System.out.println(e);
        }
        
        // コネクションを閉じる
        try
        {
            if(http!=null)  http.close();
        }
        catch(Exception e){}
        
        // アプリ終了
        terminate();
    }
}