Struts2实现同时多文件上传


步骤:

第一步:再WEB-INF/lib下加入commons-fileupload-1.2.1.jar、commns-io-1.32.2.jar

第二步:

  1. <form action="${pageContext.request.contextPath}/control/employee/list_execute.action" enctype="multipart/form-data" method="post">  
  2.     文件1:<input type="file" name="image"><br/>  
  3.     文件2:<input type="file" name="image"><br/>  
  4.     文件3:<input type="file" name="image"><br/>  
  5.     <input type="submit" value="上传"/>  
  6. </form>  
注意:enctype="multipart/form-data" method="post"为固定值

第三步:

  1. public class HelloWorldAction {  
  2.     private File[] image; //得到上传文件   
  3.     private String[] imageFileName; //得到文件的名称   
  4.     private String[] imageContentType; //得到文件的类型   
  5.     public File[] getImage() {  
  6.         return image;  
  7.     }  
  8.   
  9.     public void setImage(File[] image) {  
  10.         this.image = image;  
  11.     }  
  12.   
  13.     public String[] getImageFileName() {  
  14.         return imageFileName;  
  15.     }  
  16.   
  17.     public void setImageFileName(String[] imageFileName) {  
  18.         this.imageFileName = imageFileName;  
  19.     }  
  20.       
  21.     public String[] getImageContentType() {  
  22.         return imageContentType;  
  23.     }  
  24.   
  25.     public void setImageContentType(String[] imageContentType) {  
  26.         this.imageContentType = imageContentType;  
  27.     }  
  28.     public String execute() throws Exception{  
  29.         String realpath = ServletActionContext.getServletContext().getRealPath("/images");  
  30.         if(image!=null){  
  31.             File savedir = new File(realpath);  
  32.             if(!savedir.exists()) savedir.mkdirs();  
  33.             for(int i = 0 ; i<image.length ; i++){                 
  34.                 File savefile = new File(savedir, imageFileName[i]);  
  35.                 FileUtils.copyFile(image[i], savefile);  
  36.             }  
  37.             ActionContext.getContext().put("message""上传成功");  
  38.         }  
  39.         return "success";  
  40.     }  
  41. }  
注意:image属性要和form表单上传控件名称要一致

相关内容