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

标签 java html excel jsp

我有一个下载按钮,单击它时我会收到一条提示,要求保存/打开。

如果我单击“保存”,文件将以正确的名称保存(如内容处置 header 中指定的), 但如果我单击“打开”,它将以不同的名称(我的操作类的名称)打开。

我希望它以 header 中指定的相同名称打开。

有人可以帮我解决这个问题吗,我正在使用 IE8、Excel 2007。

最佳答案

当您使用 IE 时确实会出现这种情况。这个奇怪的浏览器忽略Content-Disposition头完全一起,并且将使用请求 URI 的最后一个路径部分,这将是您在 <form> 中指定的表单操作 URL。 .

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

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

在上述示例的 servlet 中,映射到 URL 模式 /fileservlet/* ,如有必要,您可以按如下方式获取该部分:

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

关于java - 在保存/打开对话框中单击打开时文件名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309666/

相关文章:

java - 如何让JButton打开不同的框架?

javascript - 如何使用 javascript 将输入值发送到 servlet,然后从该 servlet 获得答案?

html - 背景图像位置(从底部和右侧)

vba - 返回从 A1 到最后使用的真正单元格的范围

python - 为什么 openpyxl 无法识别我打开的现有 Excel 文件中的工作表名称?

java - Spring hibernate

java - Java 8 time api 如何选择 DST 更改周期的偏移量

.NET EPPlus OpenXml - 在每个页面上重复 Excel 行

java - spring "Manager"类中的 @Autowired 注解

javascript - 视差/背景附件 :fixed not working in some browsers