4

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

我已经搜索并找到了有关 Content-Disposition 方法的内容。

有任何想法吗 ?

4

1 回答 1

8

我已经搜索并找到了有关 Content-Disposition 方法的内容。

对,这就是您告诉浏览器您希望它对响应做什么,包括可选地提供建议的下载文件名。

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

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

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

于 2013-11-03T13:16:00.730 回答