上传很复杂的,你最好用组件,否则很麻烦
smartUpload

解决方案 »

  1.   

    到网上去找一下组件啊!例如jspSmartUpload
      

  2.   

    推荐spSmartUpload,有详细的示例,下来改改就OK了
      

  3.   

    <form name="form1" method="post" action="upload.jsp" enctype="multipart/form-data">
    选择文件的jsp中,给form设置属性:enctype="multipart/form-data"。
    下边是接收的upload.jsp
    <%@ page import="com.jspsmart.upload.SmartUpload"%>
    <%@ page import="com.jspsmart.upload.File"%><%
            SmartUpload mySmartUpload = new SmartUpload();
                //初始化
                mySmartUpload.initialize(pageContext);
                //设置允许上载的文件格式
                mySmartUpload.setAllowedFilesList("xml,XML,zip,ZIP");
                //设置不许上载的文件格式
                mySmartUpload.setDeniedFilesList("exe,bat,jsp,EXE,BAT,JSP");
                //上载
                mySmartUpload.upload();
                 //获取上传文件
                File fileImport = mySmartUpload.getFiles().getFile(0);
    %>
      

  4.   

    To:
     nhk166(带你下厨房) 
    多谢了[email protected]
      

  5.   

    tomcat里面就有上传的组件fileupload!很好用!
      

  6.   

    例子:    
    try {
          DiskFileUpload fu = new DiskFileUpload();
          // 设置允许用户上传文件大小,单位:字节
          fu.setSizeMax(10000000);
          // maximum size that will be stored in memory?
          // 设置最多只允许在内存中存储的数据,单位:字节
          fu.setSizeThreshold(4096);
          // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
          //fu.setRepositoryPath("/tmp");
          //开始读取上传信息
          List fileItems = fu.parseRequest(request);
          Iterator i = fileItems.iterator();
          while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            // 获得文件名,这个文件名包括路径:
            String fileName = fi.getName();
            System.out.println("........"+fileName);
            if (fileName != null) {
              // 在这里可以记录用户和文件信息
              // ...
              // 写入文件a.txt,你也可以从fileName中提取文件名:
              InputStream is=fi.getInputStream();
              byte[] b=new byte[(int)fi.getSize()];
              is.read(b);
              is.close();
              ServletOutputStream sos=response.getOutputStream();
              sos.write(b);
              sos.close();
            }
          }
        }
        catch (Exception ex) {
          System.out.println(ex.toString());
        }