2012-03-28 39 views
4

GWT 2.4 + gwtupload 0.6.4ライブラリを使用した簡単なファイルアップロードに苦労しています。結局GWTファイルアップロード、ファイルがPOSTで送信されていません

<g:DialogBox modal="true" width="400px" height="150px"> 
     <g:caption><ui:msg>Import new..</ui:msg></g:caption> 
     <g:VerticalPanel styleName="full-width"> 
      <g:InlineLabel styleName="formlabel"><ui:msg>File name</ui:msg></g:InlineLabel> 
      <up:Uploader ui:field="uploader" validExtensions="zip" styleName="uploader full-width"> 
      </up:Uploader> 
      <g:Button styleName="button" ui:field="importButton" enabled="true"> 
       <ui:msg>Import</ui:msg> 
      </g:Button> 

importButton通話uploader.submit()

は、ここに私のダイアログui.xmlの関連する部分です。私の問題は、初めてボタンを押したときに、空のPOSTがサーバーに送信されていて、エラーメッセージが表示されることです。もう一度ボタンを押すと、私のファイルがPOST-EDされています。ダイアログを閉じてからやり直すと、まったく同じことが起こります。最初のものに続くすべてのインポートはOKです。ここで

は、空のPOSTの例である:

Content-Type: multipart/form-data; 
boundary=---------------------------9003259118762 
Content-Length: 46 -----------------------------9003259118762-- 

私は回避策として、ボタンの上に二度目をクリックしてみました。しかし、私が受け取ったエラーメッセージをキャッチしてuploader.submit()を再度呼び出すか、Timer()コールバックからでもそれを呼び出すと、2回目にマウスをクリックしたときと同じように動作しません。

何が間違っている可能性がありますか?

+1

アップローダをインスタンス化する方法を追加する必要があります。自動提出は有効になっていますか?どんなタイプの入力が選ばれましたか... –

+0

こんにちは! UIバインダーはアップローダーをインスタンス化し、自動提出は無効にされます – jabal

+0

何が間違っているか分かりません。 –

答えて

1

解決策は、uploader.submit()の後のいくつかの行には、uploader.setEnabled(false)の呼び出しがありました。削除した後、アップローダは正常に動作し始めました。:-)

関連する問題