随笔 - 40, 文章 - 0, 评论 - 20, 引用 - 0
数据加载中……

Apache FileUpload 使用

FileUpload 组件使用注意:
1>
首先创建一个HTML页面。注意,凡是要上载文件的表单都必须设置enctype属性,且属性的值必须是multipart/form-data,同时请求方法必须是POST.
<form name="myform" action="fileuploaddemo.jsp"  method="post" enctype="multipart/form-data">
 
2>commons-fileupload-1.1.jar和commons-io-1.1.jar 两个包都要引入,
因为在parseRequest(request)的类有关继承于DiskFileItem类。

3>示例
      //检查表单是否正确
      boolean isMultipart = FileUpload.isMultipartContent(request);
      DiskFileItemFactory  factory = new DiskFileItemFactory();
      ServletFileUpload upload = new ServletFileUpload(factory);
      //文件最大,设为-1表示不受限制
      upload.setSizeMax(4096);
      //解析请求,把解析的结果放在一个List里面
      List items = upload.parseRequest(request);
      //缓存大小,设为-1表示不受限制
      factory.setSizeThreshold(4096);
      //设置临时目录
      factory.setRepository(new File("D:\\temp"));
      Iterator iter = items.iterator();
      while( iter.hasNext() ){
        FileItem item  = (FileItem)iter.next();
        //检查是一个普通的表单域还是File组件
        if( !item.isFormField() ){
          System.out.println("FileName:==>"+item.getName());
          System.out.println("FieldName:==>"+item.getFieldName());
          System.out.println("Size:==>"+item.getSize());
          //item.getName 返回的是完整的文件名,如:E:\\xx\11.doc
          //所以这里用一个fullFile来取文件名
          File fullFile  = new File(item.getName());
          File uploadedFile = new File("D:\\ftp\\",fullFile.getName());
          item.write(uploadedFile);
        }
      }

posted on 2006-03-06 12:33 月亮 阅读(1841) 评论(1)  编辑  收藏

评论

# re: Apache FileUpload 使用  回复  更多评论   

顶!
2008-08-19 10:15 | shohokuf

只有注册用户登录后才能发表评论。


网站导航: