JSP学习日记(一) 文件下载


>>>>>>>>>>>>> downloadfile.jsp

<%@ page contentType="text/html;charset=utf-8" %>
<%@ page import="java.io.*"%>
<html>
<body>
 单击超链接下载下面的文件:
 <%
 File dir = new File("G:/JspExercise/File/testfiles");
 File[] files = dir.listFiles();
 for(int i=0;i<files.length; i++){
  String name = files[i].getName();
  out.print("<br><a href='downloadfile2.jsp?name="+name+"'>"+ name + "</a>");
 }
 %>
</body>
</html>

>>>>>>>>>>>>> downloadfile2.jsp

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

    /****** 特别注意:本程序片之前不能有任何空格或换行符!! 整个JSP中不能使用任何html标记!! ******/

    OutputStream o = response.getOutputStream();
   
    String fileName = request.getParameter("name");
   
    byte[] temp = fileName.getBytes("ISO-8859-1");
   
    fileName = new String(temp,"utf-8");
   
    System.out.println(fileName); 
   
    String filedir = "G:/JspExercise/File/testfiles/";   
 
    response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1") );  
   
    response.setContentType("text/html;charset=utf-8");
   
    FileInputStream in = new FileInputStream(filedir+fileName);
   
    int bytesRead;
   
    byte[] buf = new byte[4 * 1024];
   
    while ( (bytesRead = in.read(buf)) != -1)
    {
   
            o.write(buf, 0, bytesRead);
           
    }
   
    in.close();
    o.close();
   
%>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值