在保存/打开对话框中单击打开时文件名出错

我有一个下载button,点击它我得到一个提示要求保存/打开。

如果我点击保存,文件保存与正确的名称(由内容处置标头中指定),但如果我点击打开它打开与不同的名称(我的行动类的名称)。

我希望它打开与标题中指定的相同的名称。

有人可以帮助我,我正在使用IE8,Excel 2007。

当你使用IE时,情况确实如此。 这个奇怪的浏览器完全忽略了Content-Disposition头,而是使用请求URI的最后一个path部分,这将成为您在<form>指定的表单动作URL。

解决这个问题的唯一方法是让表单提交到包含文件名作为最后一个path部分的URL。

 <form action="fileservlet/filename.ext" method="post"> 

在上面例子的servlet映射到/fileservlet/*的URL模式,你可以根据需要抓住这个部分,如下所示:

 String filename = request.getPathInfo().substring(1); // filename.ext // ...