Win a copy of Cross-Platform Desktop Applications: Using Node, Electron, and NW.js this week in the JavaScript forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Cancelling a file download - "java.lang.IllegalStateException: getOutputStream() ..."  RSS feed

Rick Smith
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I know a similar question has been asked before but I have not been able to solve my problem, I am unable to find any similar problems and solutions on any other forums.

I am developing a Struts 1.3 application which uses tiles, running on Tomcat 5.5. The download page uses a instance of Struts DownloadAction.

A user can successfully download a file. However the problem occurs if a user clicks to download a file, then from the 'Save/Cancel' dialog box clicks 'Cancel' at which point an exception is thrown, worryingly the console will continue to output exception stack trace for about 10 minutes before normal service is resumed!

To 'prove' where the issues arises I have run the software on both Linux and XP environments with the same outcome.

It starts to get interesting when I use a different browser, my target browser is IE 6, i get the same problem with IE 7 however using firefox 3.0.10 the error is not caused! I suspect the problem is down to the output stream being created for the file, perhaps firefox closes it properly when cancel is clicked but IE doesn't, in either case I would expect the code which manages to download on the server side to handle the error more elegantly.
Additionally files smaller than about 2Mb do not have the problem in IE.
I have knocked up a simple application which uses the download action but not running in the tiles framework, and this does not exhibit the problem, although it also does not include other elements of my full system, e.g. Acegi, various logging filters etc.

I would be grateful if anyone could offer some insight into what is causing this problem, or why the exception trace is so long if no actual fix is possible. if it is tiles (as has been suggested) to blame then we could look at alternatives to get around this problem.

(I keep getting an error trying to upload my stack trace in an attached file)
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!