2010年2月27日土曜日

GWT+GAEでのファイルアップロード処理

とりあえず試してみたのでメモ書きです。本番環境で試してないのですが、たぶんおっけい?


クライアント側
下記のサンプルは、GWTのAPI仕様書(JavaDoc)に書かれている内容を参考にしてます。FileUploadウィジェットを用います。Formパネルの子としておかないとダメなのに注意。FileUploadウィジェットを用いれば、ファイルの選択などのGUIが用意されます。
サーバー側

下記の例では、純粋なサーブレットですが、GAEでも動かすことを前提にしてます(本番環境では試してませんが)。ポイントは、FileItemStreamからInputStreamを生成しているところでしょうか。これで、ファイルタイプに応じていろんな対応ができるはずです。
なお、Apache のCommons FileUploadライブラリを仕様してます。

上記のプログラムでは、アップロード処理が終わった後の処理について書いてませんので、そこは各自で対応をお願いします。

2 件のコメント:

  1. すみません、これだけだと、どうやってアップロードしたファイルを読み込んだらいいのか分からないのですが、もう少し詳しく教えていただけませんか?

    processRequest()は、どこから呼ばれるんですか?onSubmitComplete()からですか?

    HttpServletRequest requestは、何処で定義されますか?requestの値は、どこからゲットしますか?

    すみませんが、宜しくお願いします。

    返信削除
  2. 1年前のコメに亀レスですが、processRequest()はdoGet(),doPost()の代替(同じ役割)です。Netbeans特有の書き方になります。

    返信削除