当我们在java中已经有response.setContentType时,我可以知道response.addHeader的用法吗?我找不到合适的解决方案。
<% response.addHeader("Content-Disposition","attachment;filename=Report.xls"); %>
<% response.setContentType("application/vnd.ms-excel"); %>在这里,上面的第二条语句足以得到excel格式的响应。我需要使用response.addHeader的哪种场景?
请..。
发布于 2013-07-30 16:15:53
这个特殊的标头:
"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实现的参数。文件名应仅被视为终端组件。如果在带有application/octet- stream content-type的响应中使用此头,则隐含的建议是用户代理不应显示该响应,而是直接输入“`save response as...”对话框。
请记住,尽管定义了Content-Disposition响应头字段,但指出它不是/1.1标准的一部分。
我的意思是,不要使用JSP来做下载工作,而是使用Servlet!
发布于 2013-07-30 16:15:32
我不是用Java写的,但我知道有很多都有相同的特性。
我想这只是一条捷径。
顺便说一句,有这么多的头文件...不仅仅是Content-Type或者类似的东西。
https://stackoverflow.com/questions/17941608
复制相似问题