This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
When streaming an excel file to client, how to let client opens it directly in IE without losing the filename I specified?
I am writing a struts webapp. When user clicks a particular button, the html form will be submitted to http://mydomain.com/mywebapp/getreport.do. An excel file will then be streamed to user. User can choose to open it directly in IE, or save it.
This is how I set the http header in the Action class:
It works fine. User will be prompted to open or save the file. The filename myexcelfile.xls is displayed in the prompted dialogue box. If user chooses to save, myexcelfile.xls will be the default filename.
However, if user chooses to open it, the filename myexcelfile.xls will be lost. The excel file will be directly opened in IE. If user clicks File --> Save As, the default filename provided will be getreport.do.
I don't want this to happen, because such a filename (getreport.do) might confuse the user. Does any know a solution?