实现多文件上传

 

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;
 }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值