如题!!!希望有做过的能提供一个完整的实例,实现文件上传和下载的,能运行的最好 谢谢了先!

解决方案 »

  1.   

    upload.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>文件上传</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <p>&nbsp;</p>
    <p align="center">上传文件选择</p>
    <FORM METHOD="POST" ACTION="do_upload.jsp"
    ENCTYPE="multipart/form-data">
    <input type="hidden" name="TEST" value="good">
      <table width="75%" border="1" align="center">
        <tr> 
          <td><div align="center">1、 
              <input type="FILE" name="FILE1" size="30">
            </div></td>
        </tr>
        <tr> 
          <td><div align="center">2、 
              <input type="FILE" name="FILE2" size="30">
            </div></td>
        </tr>
        <tr> 
          <td><div align="center">3、 
              <input type="FILE" name="FILE3" size="30">
            </div></td>
        </tr>
        <tr> 
          <td><div align="center">4、 
              <input type="FILE" name="FILE4" size="30">
            </div></td>
        </tr>
        <tr> 
          <td><div align="center">
              <input type="submit" name="Submit" value="上传它!">
            </div></td>
        </tr>
      </table>
    </FORM>
    </body>
    </html>do_upload.jsp
    <%@ page contentType="text/html; charset=gb2312" language="java" 
    import="java.util.*,com.jspsmart.upload.*" errorPage="" %>
    <html>
    <head>
    <title>文件上传处理页面</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><body>
    <%
    // 新建一个SmartUpload对象
    SmartUpload su = new SmartUpload();
    // 上传初始化
    su.initialize(pageContext);
    // 设定上传限制
    // 1.限制每个上传文件的最大长度。
    // su.setMaxFileSize(10000);
    // 2.限制总上传数据的长度。
    // su.setTotalMaxFileSize(20000);
    // 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
    // su.setAllowedFilesList("doc,txt");
    // 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
    jsp,htm,html扩展名的文件和没有扩展名的文件。
    // su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
    // 上传文件
    su.upload();
    // 将上传文件全部保存到指定目录
    int count = su.save("/upload");
    out.println(count+"个文件上传成功!<br>");

    // 利用Request对象获取参数之值
    out.println("TEST="+su.getRequest().getParameter("TEST")
    +"<BR><BR>"); // 逐一提取上传文件信息,同时可保存文件。
    for (int i=0;i<su.getFiles().getCount();i++)
    {
    com.jspsmart.upload.File file = su.getFiles().getFile(i);

    // 若文件不存在则继续
    if (file.isMissing()) continue; // 显示当前文件信息
    out.println("<TABLE BORDER=1>");
    out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
    + file.getFieldName() + "</TD></TR>");
    out.println("<TR><TD>文件长度(Size)</TD><TD>" + 
    file.getSize() + "</TD></TR>");
    out.println("<TR><TD>文件名(FileName)</TD><TD>" 
    + file.getFileName() + "</TD></TR>");
    out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" 
    + file.getFileExt() + "</TD></TR>");
    out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
    + file.getFilePathName() + "</TD></TR>");
    out.println("</TABLE><BR>"); // 将文件另存
    // file.saveAs("/upload/" + myFile.getFileName());
    // 另存到以WEB应用程序的根目录为文件根目录的目录下
    // file.saveAs("/upload/" + myFile.getFileName(), 
    su.SAVE_VIRTUAL);
    // 另存到操作系统的根目录为文件根目录的目录下
    // file.saveAs("c:\\temp\\" + myFile.getFileName(), 
    su.SAVE_PHYSICAL); }
    %>
    </body>
    </html>download.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>下载</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body>
    <a href="do_download.jsp">点击下载</a>
    </body>
    </html>do_download.jsp
    <%@ page contentType="text/html;charset=gb2312" 
    import="com.jspsmart.upload.*" %><%
    // 新建一个SmartUpload对象
    SmartUpload su = new SmartUpload();
    // 初始化
    su.initialize(pageContext);
    // 设定contentDisposition为null以禁止浏览器自动打开文件,
    //保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
    //doc时,浏览器将自动用word打开它。扩展名为pdf时,
    //浏览器将用acrobat打开。
    su.setContentDisposition(null);
    // 下载文件
    su.downloadFile("/upload/如何赚取我的第一桶金.doc");
    %>
      

  2.   

    java文件上传和下载其实很简单的。
      当然,如果你需要把文件存入数据库进行上传和下载就复杂了!~
      

  3.   

    Apache Commons下的fileupload(可能需要commons-io jar包的支持)提供了很好的对文件上传的处理功能。Struts文件上传功能的默认情况下就是采用commons fileupload,自家的东西嘛,呵呵。
      

  4.   

    我这个是上传excel文件的。你可以参考下
    首先下载 commons-fileupload-1.1.1.jar 
    advimport.jsp<form action="import.jsp" method="post" enctype="MULTIPART/FORM-DATA" onSubmit="return sub();">
    <input type="file" id="xlsname" name="xlsname" class="tttt" />
    <input type="submit" value="数据导入" />
    </form>
    import.jsp
    <%
    String para = null; 
                            //获取上传文件的路径
    FileHttpServletRequest req = FileRequestHandler.fileParse(request); for (Iterator it = req.getParameterMap().entrySet().iterator(); it
    .hasNext();) {
    Entry en = (Entry) it.next();
    para = (String) en.getKey();
    }
    FileItem item = req.getFileParameter(para);
    String fname = Long.toString(new Date().getTime());//对上传到服务器的文件重命名
    String dir = "..//webapps//" + request.getContextPath() + "//UP//"
    + fname + ".xls";//上传到服务器文件的路径
                            //调用写文件方法
    item.write(new File(dir));
    %>
      

  5.   

    如果你要,我给你个,你到我的空间去留言,我发你邮箱.另外再加100分
    是用 struts2做的,结合UUID编码,解决了中文乱码问题