我有一个下载按钮,单击它时我会收到一条提示,要求保存/打开。
如果我单击“保存”,文件将以正确的名称保存(如内容处置 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/