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

ftb*_*ftb 3 java jsp

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

我搜索并发现了一些关于Content-Disposition方法的内容.

有任何想法吗 ?

T.J*_*der 7

我搜索并发现了一些关于Content-Disposition方法的内容.

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

不过,我认为这里没有任何一个班轮.您需要将服务器配置为MyFile.doc使用相关Content-Disposition标头返回,或者,如果要使用JSP中的代码控制名称,则必须自行发送响应setHeader以设置Content-Disposition标头.例如:

response.setHeader("Content-Disposition", "attachment; filename=\"MyFile_XYZT.doc\"");
Run Code Online (Sandbox Code Playgroud)

...然后打开文件,读取其内容,并在响应中发送它们.它不是很多代码(可能是四行或五行),但它不是一行代码.