如题!有代码的给个代码,本人不胜感激!帮帮我这个小鸟吧!!

解决方案 »

  1.   

     common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/site/binindex.cgi下载。该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。 
        下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps你的应用程序的WEB-INF\lib下,如果目录不存在请自建目录。 
        下面用到的另外两个目录都要先创建(请下载的我的文件夹参考),一是用于存放上传文件的目录dir,二是存放临时文件的目录temp。
    含有表单的上传html文件,upload.html
    <html> 
    <head> 
    <title>文件上传</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    </head> 
    <body> 
    <b>文件上传</b></font></p> 
                                                                                                    
    <form name="UploadForm" enctype="multipart/form-data" method="post" action="upload.jsp"> 
        <input type="file" name="File1" size="20" maxlength="20"> <br> 
        <input type="file" name="File2" size="20" maxlength="20"> <br> 
        <input type="submit"value="上传"> 
    </form> 
                                                                                                    
    </body> 
    </html> 

    下面是处理表单的jsp文件:upload.jsp
    <%@ page import="org.apache.commons.fileupload.*" %> 
    <%@ page import="java.util.List" %> 
    <%@ page import="java.util.Iterator" %> 
    <%@ page import="java.io.File" %> 
    <%@ page contentType="text/html;charset=gb2312" %> 
    <% 
      String temp=getServletContext().getRealPath("/")+"temp";   //临时目录
      String loadpath=getServletContext().getRealPath("/")+"dir"; //上传文件存放目录
      DiskFileUpload fu = new DiskFileUpload();
      fu.setSizeMax(1*1024*1024);   // 设置允许用户上传文件大小,单位:字节
      fu.setSizeThreshold(4096);   // 设置最多只允许在内存中存储的数据,单位:字节
      fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录  //开始读取上传信息
      List fileItems = fu.parseRequest(request);
     Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while (iter.hasNext()) {
        FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
        if (!item.isFormField()) {
             String name = item.getName();//获取上传文件名,包括路径
             name=name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名
            // out.println(name);
             long size = item.getSize();
             if((name==null||name.equals("")) && size==0)
             continue;
             out.println(item.getName()+"    Size="+item.getSize()+"<br>");//输出上传文件信息
          
             File fNew= new File(loadpath, name); 
          
             item.write(fNew);   }
     }
    %> 
      

  2.   

    smartupload组件.适合上传不大的文件!
      
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.sql.*"%>
    <%@ page import="com.jspsmart.upload.*" %><%
       //实例化上载bean
        SmartUpload mySmartUpload=new SmartUpload();
        //初始化
        mySmartUpload.initialize(pageContext); 
        //设置上载的最大值,注意:如果这里设置过大会出现问题!
        mySmartUpload.setMaxFileSize(500 * 1024*1024);
        //上载文件
        mySmartUpload.upload();
       //循环取得所有上载的文件
       for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
       //取得上载的文件
       com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
       if (!myFile.isMissing())
        {
       //取得上载的文件的文件名
        String myFileName=myFile.getFileName();
        //取得不带后缀的文件名
        String  suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
        //取得后缀名
        String  ext= mySmartUpload.getFiles().getFile(0).getFileExt();  
        //取得文件的大小  
        int fileSize=myFile.getSize();
        //保存路径
        String aa=getServletContext().getRealPath("/")+"jsp\\";
        String trace=aa+myFileName;
        //取得别的参数
        String explain=(String)mySmartUpload.getRequest().getParameter("text");
        String send=(String)mySmartUpload.getRequest().getParameter("send");
        //将文件保存在服务器端 
        myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
        %>
      

  3.   

    可以自己解析文件输入流,获得文件
    当然也可以用第三方上传组件如smartupload等
      

  4.   

    4楼所说的://将文件保存在服务器端 
        myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL); 但是这个上传文件保存在服务器端是到哪里了啊?我要怎么样才能看到这个文件呢?