我的服务器上有一个名为“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/