實現多文件上傳

 

struts2實現多文件上傳

1、首先在jsp頁面中寫出添加多文件上傳的頁面效果,用jquery實現點擊一次添加按鈕後,實現在下面顯示一個上傳文件的file類型的input,以及一個刪除的按鈕。並實現刪除的操作。在jsp中實現代碼如下:

 <body>
  <form action="${pageContext.request.contextPath}/upFilemore.action" enctype="multipart/form-data" method="post">
     <div align="center">
      <h1>多文件上傳</h1><br/>
      <input type="button" value="添加" id="add"/>
      <input type="submit" value="上傳"/>
     </div>
     <div id="two" align="center">
     
     </div>
 </form>
  </body>
</html>
<script type="text/javascript">
 
   $(document).ready(
  function(){ 
      $("#add").click(function(){
       $("<div><input type='file' name='upload' /><input type='submit' class='delet2' name='Submit2'  value='刪除' /></div>").clone(true).appendTo("#two")
   });
      $(".delet2").live("click",function(){
    $(this).parent().remove();
  });
 });

</script>

2、在struts.xml文件中進行配置。代碼如下:

<struts>
  <action name="upFilemore" class="cn.csdn.hr.up.action.UploadMoreAction" method="uploadmore">
   <result>./sc.jsp</result>
  </action>
 </package>
</struts>

3、最後寫出實現多文件的action類。代碼如下:

package cn.csdn.hr.up.action;

import java.io.File;
import java.io.IOException;

import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class UploadMoreAction extends ActionSupport{
 
 /**
  *
  */
 private static final long serialVersionUID = 1L;
 private File upload[];//上傳文件
 private String uploadContentType[];//上傳文件的類型
 private String uploadFileName[]; //上傳文件的名稱


 public File[] getUpload() {
  return upload;
 }

 public void setUpload(File[] upload) {
  this.upload = upload;
 }

 public String[] getUploadContentType() {
  return uploadContentType;
 }

public void setUploadContentType(String[] uploadContentType) {
  this.uploadContentType = uploadContentType;
 }

 public String[] getUploadFileName() {
  return uploadFileName;
 }

 public void setUploadFileName(String[] uploadFileName) {
  this.uploadFileName = uploadFileName;
 }

 public String uploadmore(){
  String path = ServletActionContext.getServletContext().getRealPath("ims");
  System.out.println(path);
  File file = new File(path);
  if(!file.exists()){
   file.mkdirs();
  }
  /**
   * 以流的方式 讀取文件   寫入到指定的文件中去
   * mkdirs     mkdir 區別
   * FileUtils工具完成上傳
   * */
  try {
   for(int i=0;i<upload.length;i++){
   FileUtils.copyFile(upload[i],new File(file,uploadFileName[i]));
   System.out.println("上傳文件的名稱:"+uploadFileName+",上傳文件的類型:"+uploadContentType);
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return SUCCESS;
 }

}

 

發佈了138 篇原創文章 · 獲贊 3 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章