文件上传,支持批量上传

最近在做一个文件上传的功能,支持单个文件和多个文件上传。项目中所需要用到的jar包为commons-fileupload-1.2.1.jar ,commons-io -1.4.jar ,把该两个jar包放到WEB-INF/lib下即可,这两个jar包可以http://www.apache.org/上下载。

 

下面为部分代码:

 upload.jsp:

 

  <form action="FileUpload" method="post" enctype="multipart/form-data" name="form1">   
        <input type="file" name="file">      
        <input type="file" name="file">   
        <input type="submit" name="Submit" value="upload">   
    </form>

 

uploadFile.java:

 

public static boolean uplodaFile(HttpServletRequest request){
    String uploadFilePath="c://";
    String tempPath="c://";
  boolean flag = false;
  DiskFileItemFactory factory = new DiskFileItemFactory();
  factory.setRepository(new File(tempPath));
  //设置缓冲区大小 4K
  factory.setSizeThreshold(4096);
  ServletFileUpload sfu = new ServletFileUpload(factory);
  // 设置最大文件尺寸,这里是100MB
  sfu.setFileSizeMax(100*1024*1024);
     try {
   List<FileItem> item = sfu.parseRequest(request);
    Iterator<FileItem> it  =item.iterator();
   while(it.hasNext()){
    FileItem fileItem =(FileItem)it.next();
    //获得文件名,包含上传的路径
     String fileName= fileItem.getName();
      if(fileName!=null){

      //获得文件名
       String Name=fileName.substring(fileName.lastIndexOf("
//")+1,fileName.length()); 
        if(!Name.equals("")){
       fileItem.write(new File(uploadFilePath+Name)) ;
        }
      }
   }
   flag =true ;
  } catch (FileUploadException e) {
   flag = false;
    System.out.println("FileUploadException!");
  } catch (Exception e) {
   flag = false;
    System.out.println("fileItem.write() Exception!");
  } 
  return flag;
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值