電子書籍の厳選無料作品が豊富!

お世話になります。
HTTP機能で、サーブレットでPDFファイルのダウンロードを行う処理の際に、
「ファイルのダウンロード」ダイアログボックス上の
[キャンセル]ボタンをクリックした際の、
「キャンセルのイベント」を取得したいです。

(開発環境:WindowsXP SP3、Eclipse3.5、Java、サーブレット、JSP、
       MySQL5、Apache2.2、Tomcat6等)
(動作環境;サーバは、Linux(CentOS5.5)、
      クライアントはWindowsXP SP2以上、
             WebブラウザはInternet Explorer7以上)

それを取得したい目的は、
「ファイルのダウンロード」された回数を、
毎回インクリメントして、カウント数として記録に残したい為です。
(「キャンセルのイベント」が取得出来ないと、
   正確なダウンロード数がカウント出来ない為)

もし、取得出来ないのでしたら、
「ファイルのダウンロード」ダイアログボックス
を利用しない、何か別の方法でありましても、
「PDFファイルを、サーバ上からダウンロード」さえ出来れば、
 (正確なダウンロード数がカウント出来れば)
上記致しました目的が達成出来てOKです。

宜しくお願い致します。

A 回答 (2件)

既に回答済みのつもりなのですが、



1.完全完璧なダウンロード完了数を計数する方法はない(転送完了≠ダウンロード完了)
2.アクセスログの転送量がファイルサイズと一致する結果をカウントすればほぼ(実用上は完全に)実数

例えばFlashを使ってダウンロード完了をサーバに通知させるアイデアも思いつきはしますが、
ダウンロード完了しているのに完了通知が届かない事もありうるのでそこまでする意味を感じません。
パーソナルファイヤーウォールでブロックされる可能性を考えたら、
転送完了をダウンロード完了とみなすほうがまだ正確ではないでしょうか。
    • good
    • 0
この回答へのお礼

ご回答いただきまして、本当にありがとうございました。

お礼日時:2010/09/24 14:01

クライアントのイベントをサーバ側が正確に把握するのは不可能です。


(関数があろうともいくらでも詐称できるし、通信障害で不達など)

正確なダウンロード完了数に近い統計なら、
アクセスログの転送量がファイルサイズと一致するものだけ転送完了とみなすのが一番近い数字になるのではないでしょうか。
(転送完了したからと言ってクライアントがダウンロードに成功しているとは言い切れない)

この回答への補足

ご回答いただき、ありがとうございます。
最初の質問の末尾に記載させていただきましたように、

「ファイルのダウンロード」ダイアログボックス
を利用しない、何か別の方法で
「PDFファイルを、サーバ上からダウンロード」
出来る技法を、もしご存じでしたら、
アドバイスいただけましたら幸いです。

補足日時:2010/09/24 00:36
    • good
    • 0
この回答へのお礼

ご回答いただきまして、本当にありがとうございました。

お礼日時:2010/09/24 14:06

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!