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

时间:2013-11-03 13:10:59

标签: java jsp

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

  

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

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

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

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

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