爱问知识人 爱问教育 医院库

JSP中实现文件下载

首页

JSP中实现文件下载

E1.jsp
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY>

单击超连接下栽Zip文档 book.Zip <BR> <A href="loadFile.jsp">下载book.zip </Body> </HTML> loadFile.jsp <%@ page contentType="text/html;charset=GB2312" %> <%@ page import=" .*" %> <HTML> <BODY> <% Outputstream o= tOutputStream(); byte b[]= new byte[500]; File fileload=new File("f:/2000",book.zip"); tHeader("Content-disposition",attachment;filename="+"bok.zip"); tContentType("application/x-tar"); long fileLength=fileload.length(); String length= lueOf(fileLength); tHeader("Content_length",length); FileInputstream in=new FileInputStream(fileLoad); int n=0; while((n= ad(b))!=-1) { o.write(b,0,n); } %> </BODY> </HTML> 请问高手,我用这两个文件想做出一个下载文件的页面,可是为什么在进入loadfile.jsp页面后会什么显示也没有呢?我试过了是从Outputstream o= tOutputStream();这句就开始有问题的,希望哪位高手帮个忙,谢谢!如果能解决问题,我会加分的!

提交回答
好评回答
  • 2006-12-03 17:04:08
      因为jsp转译成servlet时,当有输出就会使用getWriter()。
    它是 rvlet。jsp。JspWriter类型(extends  。Writer)。
    而getOutputStream()。
    它是 rvlet。ServletOutputStream类型(extends  。
      OutputStream)。 而对客户端的输出只能使用一种类别输出。 当它在jsp里使用了getOutputStream()。 就会产生了两种类别输出,所以就会形成冲突。program根本不知道你要使用那一个作为输出。 一般在下载档案时都要使用getOutputStream()。
      对客户端串流输出。 使用jsp作为下载档案时, 在jsp档案里,不能有任何的输出。 包括空格或 intln("xxx"); 因为会使用了jspWriter()。 所以使用jsp作为下载档案时。 检查一下{Tomcat_home}/work/xxx/xxx_jsp。
      java 看它到底在那里使用了JspWriter。 把它修正,就能解决问题。 loadFile。jsp里面内容 不要在这个jsp里面包含多余的字符,否则都会被自动调用out。write进行实现,你下载就会出错了。我上传一个编译产生的java文件给你看看。
      index_jsp。java 有问题,留言告诉我。

    l***

    2006-12-03 17:04:08

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):