1

ユーザーにフォーム ベースのファイル アップロード (一度に 1 つずつ) を ajax 更新/進行状況バーで提供しています。現在のアップロードがキャンセルされることを伝えたいと思います。次のコードは、Chrome (v.18) を除いてその目標を達成します。Chrome で [戻る] ボタンをクリックすると、ファイル アップロード ストリームがすぐに終了org.apache.commons.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedlyし、commons.fileupload ライブラリから がスローされます。

この問題に固有の情報を見つけることができませんでしたが、これが今のところどうにかしなければならないものであるかどうか、誰か分かりますか? ありがとう。

編集:Chromeにはまだ「ページを離れる」ダイアログが表示されることを追加する必要がありますが、その時点でアップロードはすでに停止しているため、回答はまったく影響しません。Chrome でリンクをクリックしてもアップロードは停止せず、期待どおりに動作します。

window.onbeforeunload = 
    function(event) {
        if (upload_in_progress) {
            var msg = "You are uploading a file." +
              "If you leave this page the upload " +
              "will be cancelled.\n\nLeave page?";
            var event = event || window.event;
            if (event) { event.returnValue = msg; }
            return msg;
        }
    };
4

1 に答える 1

0

Chrome および Safari では、beforeunload イベントに関連付けられた関数は、常に文字列値 (ユーザーに表示されるメッセージ) を返す必要があります。

于 2013-10-21T12:48:51.480 に答える