首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我们在java中使用response.setContentType时,response.addHeader有什么用呢?

当我们在java中使用response.setContentType时,response.addHeader有什么用呢?
EN

Stack Overflow用户
提问于 2013-07-30 16:12:26
回答 2查看 4.6K关注 0票数 4

当我们在java中已经有response.setContentType时,我可以知道response.addHeader的用法吗?我找不到合适的解决方案。

代码语言:javascript
复制
<% response.addHeader("Content-Disposition","attachment;filename=Report.xls"); %>

<% response.setContentType("application/vnd.ms-excel"); %>

在这里,上面的第二条语句足以得到excel格式的响应。我需要使用response.addHeader的哪种场景?

请..。

EN

回答 2

Stack Overflow用户

发布于 2013-07-30 16:15:53

这个特殊的标头:

代码语言:javascript
复制
"Content-Disposition","attachment;filename=Report.xls"

告知浏览器将文件作为默认名称为Report.xls的附件下载。

还要检查HTTP/1.1 specs

已经提出了Content-Disposition response-header字段,作为在用户请求将内容保存到文件时源服务器建议默认文件名的手段。一个例子是

代码语言:javascript
复制
    Content-Disposition: attachment; filename="fname.ext"

接收用户代理不应考虑filename-parm参数中存在的任何目录路径信息,该参数是目前唯一被认为适用于HTTP实现的参数。文件名应仅被视为终端组件。如果在带有application/octet- stream content-type的响应中使用此头,则隐含的建议是用户代理不应显示该响应,而是直接输入“`save response as...”对话框。

请记住,尽管定义了Content-Disposition响应头字段,但指出它不是/1.1标准的一部分。

我的意思是,不要使用JSP来做下载工作,而是使用Servlet!

票数 6
EN

Stack Overflow用户

发布于 2013-07-30 16:15:32

我不是用Java写的,但我知道有很多都有相同的特性。

我想这只是一条捷径。

顺便说一句,有这么多的头文件...不仅仅是Content-Type或者类似的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17941608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档