java - 如何在下载过程中更改文件名

标签 java jsp

我的服务器上有一个名为“MyFile.doc”的文件,同一实例中有一个 jsp。 jsp 中有一个重定向,例如:response.sendRedirect("MyFile.doc");。当用户访问我的 jsp 文件时,我想将该文件命名为“MyFile_XYZT.doc”。简而言之,它应该使用动态创建的 ID 下载。

我搜索并找到了一些关于 Content-Disposition 方法的信息。

有什么想法吗?

最佳答案

I've searched and found something about Content-Disposition method.

是的,这就是您告诉浏览器您希望它如何处理响应的方式,包括可选地提供建议的下载文件名。

不过,我不认为这里有任何单线。您需要将您的服务器配置为返回带有相关 Content-Disposition header 的 MyFile.doc,或者,如果您想使用 JSP 中的代码控制名称,您您必须自己使用 setHeader 发送响应设置 Content-Disposition header 。例如:

response.setHeader("Content-Disposition", "attachment; filename=\"MyFile_XYZT.doc\"");

...然后打开文件,读取其内容,并在响应中发送这些内容。代码不多(大概四五行),但也不是一行代码。

关于java - 如何在下载过程中更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19753308/

相关文章:

java - 在多个 JFrame 和类中传递变量

java - 文件系统未找到异常 : Provider "jndi" not installed

java - 如何在tomcat中查看输出?

java - java中如何写上标文本?

java - 扩展 android.widget.xxx 时访问父级成员

java - Struts2问题——表单中的值未显示

java - 使用带有 JSTL 的 EL 访问枚举值

java - 如何在 Tomcat 服务器中使用 HTML 访问/WEB-INF 中的文件?

java - 在执行代码之前未设置进度条可见性

java - Spring Security 按角色获取用户列表