当我们在java中已经有response.setContentType时,我是否知道使用response.addHeader ... 我找不到合适的解决方案。
<% response.addHeader("Content-Disposition","attachment;filename=Report.xls"); %>
<% response.setContentType("application/vnd.ms-excel"); %>
这里上面的第二个语句足以将响应作为excel格式。 哪个场景我需要使用response.addHeader?
请...
答案 0 :(得分:6)
这个特殊标题:
"Content-Disposition","attachment;filename=Report.xls"
告诉浏览器将文件下载为默认名称为Report.xls
的附件。
同时检查HTTP/1.1 specs
Content-Disposition response-header字段已被提议为 表示如果用户,原始服务器建议默认文件名 请求将内容保存到文件中。
一个例子是
Content-Disposition: attachment; filename="fname.ext"
接收用户代理不应该尊重任何目录路径 filename-parm参数中存在的信息,这是唯一的 目前认为适用于HTTP实现的参数。该 filename应该只被视为终端组件。
如果在使用application / octet-的响应中使用此标头 - 流内容类型,隐含的建议是用户代理 不应该显示响应,而是直接输入“保存响应” 作为...'对话。
请记住,HTTP / 1.1定义 Content-Disposition 响应标头字段,但指出它不是HTTP / 1.1标准的一部分。
答案 1 :(得分:0)
我不是用Java编写的,但我知道有许多共享相同的功能。
IMO只是一条捷径。
顺便说一句,有这么多标题......不只是Content-Type或类似的东西。