Java Web 以流方式下载文件时的 HTTP 头设置时间:2025—5—18 23:05:35 点击量:2 如非注明,本站文章均为原创,转载请注明出处
本站地址:yshjava 的个人博客主页 http://www
yshjava
cn本文地址:http://www
yshjava
cn/post/417
html做 Java Web 开发时常常会遇到以流的方式下载文件的需求,此时除了将文件流输出到 response对象的 outputStream 中外,还需要设置相关的响应头信息,包括文档类型、文档说明
简单的范例代码如下://文件名String fileName = "第三季度季度财务报表”;//以 ISO 编码转码中文,否则会出现附件文件名中文乱码String encodedfileName = new String(fileName
getBytes(), "ISO8859-1");//重置 responseresponse
reset();//设置文档类型为 gb2312 编码的输出流response
setContentType("application/OCTET—STREAM;charset=gb2312”);//添加 header 参数,禁用缓存response
setHeader("pragma", "no—cache");//添加 header 参数,表明这是一个附件,以及附件的文件名是什么response
addHeader("Content-Disposition", "attachment;filename=\"" + encodedfileName + "
xls\”");//将数据写入流中
这里补充两点知识
第一点是最后一个 header 参数 Content—disposition
Content—disposition 是 MIM