response.reset()和response.setHeader方法该怎样理解?

gjk11 2008-07-03 09:59:30
比如下面这段代码:

<%@ page contentType="text/html;charset=gb2312" import="java.io.*"%>

<%
try{
String str=request.getParameter("name1");//获得响应客户的输出流
str=new String(str.getBytes("iso8859-1"),"gb2312");
File fileLoad=new File("f:\\tools\\xiazai",str);//下载文件
response.reset(); OutputStream o=response.getOutputStream();
BufferedOutputStream bos=new BufferedOutputStream(o);
byte b[]=new byte[500];//输出文件用的字节数组,每次发送500个字节到输出流
response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1"));
response.setContentType("application/x-tar");//通知客户文件的mime类型
long fileLength=fileLoad.length();//通知客户文件的长度
String length=String.valueOf(fileLength);
response.setHeader("Content_Length",length); FileInputStream in=new FileInputStream(fileLoad);//读取文件并发送给客户下载
int n=0;
while((n=in.read(b))!=-1)
{
bos.write(b,0,n);
}
bos.close();
}
catch(Exception e){
out.println("发生了异常"+e);
}
response.reset();
%>
就是那些红色的部分,希望大家讲解下,谢谢!
...全文
4764 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnfszl 2008-07-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 KOOK_OKKO 的回复:]
response.reset();清除buffer

response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1")); //客户使用目标另存为对话框保存指定文件

response.setHeader("Content_Length",length);设置头文件的长度为指定文件的长度


[/Quote]

agree
KOOK_OKKO 2008-07-03
  • 打赏
  • 举报
回复
response.reset();清除buffer

response.setHeader("Content-disposition","attachment;filename="+new String(str.getBytes("gb2312"),"iso8859-1")); //客户使用目标另存为对话框保存指定文件

response.setHeader("Content_Length",length);设置头文件的长度为指定文件的长度

joynet007 2008-07-03
  • 打赏
  • 举报
回复
response.reset();
清空buffer,设置页面不缓存

你的程序里面设置这个可能是为了防止程序下载出错设置的!!
参考:
参考1
参考2

Sou2012 2008-07-03
  • 打赏
  • 举报
回复
response.setHeader 是用来设置返回页面的头 meta 信息,
使用时 response.setHeader( name, contect );

response.reset(); 清空buffer,设置页面不缓存

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧