多个文件同时下载?你是指怎么下载?依次PUSH?
还是说在你下载的同时可以再打开另一个进程下载?这是我写的代码,不知道对你有没有用。
我没有使用smartupload,com.wht中的东西你可以不管
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.net.*" %>
<%@ page import="com.wht.*" %>
<%
  final String BASE_DIR = "H:\\Rubbish\\";
  String filename = request.getParameter("file");
  if (filename == null || filename.equals("")) {
    return ;
  }
  String file = filename.substring(filename.lastIndexOf("\\") + 1);
  filename = MyTools.iso2gb(BASE_DIR + filename);  response.setContentType(getServletContext().getMimeType(file)); // MIME type
  response.setHeader("Content-disposition", "attachment; filename=" + file);
  FileInputStream bis = new FileInputStream(filename);
  BufferedOutputStream bos = new BufferedOutputStream( response.getOutputStream());
  byte[] buff = new byte[2048];
  int bytesRead;
  long i = 0;
  while (-1 != (bytesRead = (bis.read(buff, 0, buff.length)))){
    bos.write(buff, 0, bytesRead);
    System.out.println(" bytes = " + (i++) * 2048);
  }
  if (bis != null){
    bis.close();
  }
  if (bos != null){
    bos.close();
  }
%>

解决方案 »

  1.   

    你看看smartuoloa的 源代码 和我们自己写的下载差不多d 
      都是设置header之类的
      这根浏览器http挂钩的ba
      

  2.   

    我顶<br/>,<>"(*<":{}"<><
      

  3.   

    com.wht中只是我用来转码的工具。
    ===============================<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="com.wht.*" %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>List</title>
    <link href="../css.css" rel="stylesheet" type="text/css">
    </head><body bgcolor="#EEEEEE" text="#000000">
    <%
    //检查登录
         String folder = MyTools.iso2gb( request.getParameter("dir"));
         final String BASE_DIR = "H:\\Rubbish\\";
         if (folder == null) {
           folder = "";
         }
         File dir = new File(BASE_DIR + folder);     //取上级目录
         int lastIndex = folder.lastIndexOf("\\");
         String superFolder = "";
         if (lastIndex > 0) {
           superFolder = folder.substring(0, lastIndex);
         }
         out.println("<p>Current Dir = " + folder + " | <a href=\"list.jsp?dir=" + superFolder + "\">返回上级目录</a>");
         //end 取上级目录     int filesum = 0;
         if (dir.exists()) {
           String temp[] = dir.list();
           if (temp.length == 0)
             out.println("<p>该文件夹下目前没有文件!</p>");
           else {
             filesum = temp.length;
             out.println("<table border=0 cellspacing=1 cellpadding=0 width=640>");
             out.print("<tr><td>目前共有文件 <font color=\"0000ff\">" + temp.length + "</font> 个</td>");
             out.println("</tr></talbe>");
             out.println("<table border=0 cellspacing=1 bgcolor=#3399ff cellpadding=3>");
             out.println("<tr align=center>");
             out.print("<td width=300><font color=#ffffff><b>文件名</b></font></td>");
             out.print("<td width=140><font color=#ffffff><b>大 小</b></font></td>");
             out.print("<td width=80><font color=#ffffff><b>下 载</b></font></td>");
             out.print("<td width=80><font color=#ffffff><b>删 除</td></b></font>");
             out.println("</tr>");
             for(int i = 0; i < temp.length; i++) {
               File ft = new File(dir + "\\" + temp[i]);
               out.print("<tr bgcolor=#ffffff>");
               //判断是文件夹或是文件
               if (ft.isDirectory()) {
                 String file = folder;
                 if (!file.equals(BASE_DIR)) {
                   file = file + "\\" + temp[i];
                 }
                 else {
                   file = file + temp[i];
                 }
                 out.print("<td><img src=\"folder.gif\">&nbsp;<a href=\"list.jsp?dir=" + file + "\">" + temp[i] + "</a></td>");
                 out.println("<td align=center>-</td>");
                 out.print("<td align=center>-</td>");
                 out.print("<td align=center>删 除</td>");
               }
               else {
                 out.print("<td><a href=\"download.jsp?file=" + folder + "\\" + temp[i] + "\" target=_blank>" + temp[i] + "</a></td>");
                 out.println("<td align=center>" + ft.length() + "(bytes)</td>");
                 out.print("<td align=center><a href=\"download.jsp?file=" + folder + "\\" + temp[i] + "\">下 载</a></td>");
                 out.print("<td align=center>删 除</td>");
               }
               out.println("</tr>");
             }
             out.println("</table>");
           }
         }
         else {
           out.println("<p align=left>目标不存在,请与管理员联系!</p>");
         }
        out.println("</td></tr></talbe>");
        %></body>
    </html>