3

GWT 2.5.0DevMode

file upload以下で簡単なテストを行いましたが、

スタートアップ URL:http://127.0.0.1:8888/UploadTest.html?gwt.codesvr=127.0.0.1:9997

<g:FormPanel ui:field="fpUpload">
    <g:VerticalPanel>
        <g:FileUpload name="fileData" ui:field="fuUpload" />
        <g:Button ui:field="btUpload">Upload</g:Button>
    </g:VerticalPanel>
</g:FormPanel>
@UiHandler("btUpload")
public void onClickUploadButton(ClickEvent e) {
    System.out.println("fileName:" + fuUpload.getFilename());
    fpUpload.setEncoding(FormPanel.ENCODING_MULTIPART);
    fpUpload.setMethod(FormPanel.METHOD_POST);
    fpUpload.setAction("/files");
    fpUpload.submit();
    System.out.println("Submitted, please wait!");
}

@UiHandler("fpUpload")
public void onSubmitComplete(SubmitCompleteEvent event) {
    System.out.println("Submit completed!");
}

出力:

fileName:C:\fakepath\one_file_chosen_to_upload
Submitted, please wait!

しかし、サーバーは を受信しなかったsubmit requestため、「送信が完了しました!」登場したことはありません。

その間、トラフィックは下でスヌープされ、submit requestはまったく送信しませんでした。

$ tcpdump -A -i lo port 8888

例外もスローされませんでした。何か案が?

@編集

問題は で再現可能ProdModeです。

@EDIT 2

http submit request単にマシンを再起動しただけで、ネットワーク経由での送信が無視されたのと同じくらい静かに問題が解決したように見えます。残念ながら、その理由はわかりません。

4

1 に答える 1

1

マルチパート リクエストを処理するための適切なサーブレットをコーディングしていないようですweb.xml。サーブレットのコードと の内容を質問に追加していただけますweb.xmlか?

サーバーが 404 を返した場合は実行されないことに注意してonSubmitCompleteください。サーバーの応答を Firebug で検査するか、何らかの方法でフォーム アクションを変更して、同じ失敗が発生するようにしてください。

参考までに、ibrary: gwtuploadがあります。これは非常に使いやすく、優れた機能がたくさんあります。サンプルページを見て試してみてください。

于 2012-12-20T16:23:48.337 に答える