- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルのダウンロード時に、キャンセルボタンが押されたときのイベントがとりたい)
ファイルのダウンロード時にキャンセルボタンが押されたときのイベント検知方法
このQ&Aのポイント
- サーブレットでPDFファイルのダウンロードを行う処理を実装していますが、キャンセルボタンが押されたときのイベントを検知する方法がわかりません。
- キャンセルボタンが押された場合にはDBへのインサートを行いたいですが、ダイアログのイベントを取るための解決策や手がかりがありません。
- 質問者は、PDFファイルのサイズが300KB以下で「ファイルのダウンロード」ダイアログの「保存」ボタンを押した後の「名前を付けて保存」ダイアログで「キャンセル」ボタンを押した場合と、サイズが100KB以下で「ファイルのダウンロード」ダイアログの「キャンセル」ボタンを押した場合のイベント検知方法を知りたいとしています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ダウンロードのダイアログが表示されるときはすでに サーブレットの処理は終わってしまっていますし、 キャンセルを押したことをサーブレット側で知るのは 不可能なはずです。
補足
ご回答ありがとうございます。 私の説明不足だったのですが、 実は、 byte[] byteBuf = new byte[1]; bis.read(byteBuf, 0, byteBuf.length); bos.write(byteBuf, 0, binData); のように、 入力ストリームからファイルを読み込むときと 出力ストリームに書き込むときのバイト数を 1バイトずつにすると 300KB以上のPDFファイルの場合は 「キャンセル」ボタンを押したときに IOExceptionでステータスをcatchできるのです。 そこで、ファイルのサイズが小さいときにも IOExceptionがcatchできるようにしたいのです。 よろしくお願いいたします。