2009年7月31日金曜日

GWTでファイルアップロード

現在のGoogle App Engineのアプリケーションにいつか追加したいな
と思っているのが、CSVファイルの取り込み機能。

いままで、ファイルのアップロードと言うロジックは書いたことないので手さぐり状態で
調べてみる。

とりあえず、下記を利用すれば出来ました。
(1)GWT側
FileUploadコンポーネント
http://google-web-toolkit.googlecode.com/svn/javadoc/1.6/com/google/gwt/user/client/ui/FileUpload.html

(2)Google App Engine側
Google App Engine for Javaを使ってみよう!(2)Images Java API の使い方

(1)のサンプルコードの

form.setAction("/myFormHandler");

の部分を(2)で定義してあげたものに替えてあげればOKです。

(2)のサンプルどおりにやるのであれば、この部分は、
form.setAction("/imagetest");

となります。


また、リクエストが帰ってきたときのロジックは、下記の部分の
event.getResults()にサーバの応答がhtmlが帰ってくるので、
ここを替えてあげれば、サーバからの応答も表示することが出来ました、


form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
// When the form submission is successfully completed, this event is
// fired. Assuming the service returned a response of type text/html,
// we can get the result text here (see the FormPanel documentation for
// further explanation).
Window.alert(event.getResults());
}
});


ファイルの送信は、 gwtuploadというのもあるみたいなんで、
http://code.google.com/p/gwtupload/
次は、これを試してみようと思う。

0 件のコメント: