We've been looking for a while for an answer to this, but haven't found a solution. 

We have a web server, which allows the user to download files (pdfs), which are dynamically-generated and served from servlets. We'd like to know when a download has completed (and how: was it successful, did it fail, did the user cancel?).

Is there a way to know this without user input? These files are relatively small so no progress-bar functionality is needed, but we need some sort of "end-hook" which reports back when the download has finished. Is this possible? 

[edit] What capability would there be on the browser-side that can detect end-of-download and report back to the server via ajax?