JSP下载EXECL文件时报错:java.lang.IllegalStateException: getOutputStream() has already been called for this response

bingshi_2007 2007-08-28 11:24:44
原代码:
<%
//输出文件用的字节数组,每次发送500个字节到输出流:
byte b[]=new byte[500];
//下载的文件:
File fileLoad=new File("c:/","ww.xls");
//客户使用保存文件的对话框:
response.setHeader("Content-disposition","attachment;filename="+"ww.xls");
//通知客户文件的MIME类型:
response.setContentType("application/msexcel");
//通知客户文件的长度:
long fileLength=fileLoad.length();
String length=String.valueOf(fileLength);
response.setHeader("Content_Length",length);
//读取文件book.zip,并发送给客户下载:
FileInputStream in=new FileInputStream(fileLoad);
//获得响应客户的输出流:
OutputStream o=response.getOutputStream();
int n=0;
while((n=in.read(b))!=-1)
{ o.write(b,0,n);
}
o.flush();
//o=pageContent.;
%>
请问如何解决?
...全文
409 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
里面只有这几行代码,别的什么都没有呀
zhuxr2003 2007-08-28
  • 打赏
  • 举报
回复
jsp不能有任何html代码,还有空格之类的东西.
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
好象不对呀
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
int n=0;
while((n=in.read(b))!=-1)
{ out.write(b.toString(),0,n);
}
是这样码?
awusoft 2007-08-28
  • 打赏
  • 举报
回复
OutputStream o=response.getOutputStream();
int n=0;
while((n=in.read(b))!=-1)
{ o.write(b,0,n);
}
o.flush();
用out对像啊
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
可以了谢谢
xytaomao 2007-08-28
  • 打赏
  • 举报
回复
out.clear();
out = pageContext.pushBody();
加这2句试试,在jsp文件头上
洪泉 2007-08-28
  • 打赏
  • 举报
回复
看看这篇文章
http://blog.csdn.net/alexwan/archive/2007/02/13/1508871.aspx
bcexe 2007-08-28
  • 打赏
  • 举报
回复
编程动力 www.bcexe.com 专业的编程开发类网站,网络编程,软件开发,网站开发,一切尽在这里!
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
有人可以回答我一下码?谢谢
bingshi_2007 2007-08-28
  • 打赏
  • 举报
回复
怎么没人回答我呀,我急着用,谢谢,在线等

81,092

社区成员

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

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