如题,本人菜鸟刚学不久,所以请求详细的范例!
常用的有jspSmartUpload 和commons-fileupload 2种方式吧?有的请发到我信箱:[email protected]带上用到的组件..放置到哪?....谢谢 5555555555

解决方案 »

  1.   

    网上找一下贴子啦应该不难。。
    jspsmartupload上阵子刚用完。。不错
      

  2.   

    我也想了解一下,关于文件上传下载的插件是比较多。
    jspSmartUpload好像与struts集成不是很好。
      

  3.   

    public void doPost(HttpServletRequest req, HttpServletResponse res)  {
            try{
              DiskFileItemFactory factory = new DiskFileItemFactory();
              // maximum size that will be stored in memory
              factory.setSizeThreshold(4096);
              // the location for saving data that is larger than getSizeThreshold()
              File file=new File(tempPath);
              file.mkdir();
              factory.setRepository(file);          ServletFileUpload upload = new ServletFileUpload(factory);
              // maximum size before a FileUploadException will be thrown
              upload.setSizeMax(1000000);          //DiskFileItem dfi=new DiskFileItem("file", null, false, "F:\\4.txt", 4096, factory.getRepository()) ;          List fileItems = upload.parseRequest(req);
              // assume we know there are two files. The first file is a small
              // text file, the second is unknown and is written to a file on
              // the server
              Iterator i = fileItems.iterator();
              //String comment = ( (FileItem) i.next()).getString();
              FileItem fi = (FileItem) i.next();
              // filename on the client
              String fileName = fi.getName();          int index=fileName.lastIndexOf("\\");
                       
              File file1=new File(uploadPath, fileName.substring(index));
              
              file1.createNewFile();
              fi.write(file1);
              res.sendRedirect("login.jsp");
            }catch(FileUploadException e){
              e.printStackTrace();
            }catch(Exception ex){
              ex.printStackTrace();
            }
        }
      

  4.   

    三、文件上传篇 ㈠ 表单要求 对于上传文件的FORM表单,有两个要求: 1、METHOD应用POST,即METHOD="POST"。 2、增加属性:ENCTYPE="multipart/form-data" 下面是一个用于上传文件的FORM表单的例子: <FORM METHOD="POST" ENCTYPE="multipart/form-data" 
    ACTION="/jspSmartUpload/upload.jsp">
    <INPUT TYPE="FILE" NAME="MYFILE">
    <INPUT TYPE="SUBMIT">
    </FORM>㈡ 上传的例子 1、上传页面upload.html 本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。 页面源码如下: <!--
        文件名:upload.html
    作  者:纵横软件制作中心雨亦奇([email protected])
    -->
    <!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> </p>
    <p align="center">上传文件选择</p>
    <FORM METHOD="POST" ACTION="jsp/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>2、上传处理页面do_upload.jsp 本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。 页面源码如下: <%--
    文件名:do_upload.jsp
    作  者:纵横软件制作中心雨亦奇([email protected])
    --%>
    <%@ 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>
    //SmartUpload自己去网上下就是了