java多文件的上传

Action的写法:

public class MultiUploadAction extends ActionSupport {  

// 接收多文件上传参数,提供数组接收就可以了

   private File[] upload;  

   private String[] uploadContentType;

   private String[] uploadFileName;

   public void setUpload(File[] upload) {  

   this.upload = upload;  

  }

   public void setUploadContentType(String[] uploadContentType) {  

   this.uploadContentType = uploadContentType;

   }

   public void setUploadFileName(String[] uploadFileName) {

    this.uploadFileName = uploadFileName;

   }

   public String execute() throws Exception {  

       for (int i = 0; i < upload.length; i++) {   

            // 循环完成上传  

           File srcFile = upload[i];   

           String filename = uploadFileName[i];

           // 定义目标文件   

          File destFile = new File(ServletActionContext.getServletContext() .getRealPath("/upload" + "/" + filename));  

          FileUtils.copyFile(srcFile, destFile);

       }

      return NONE;

   }

}

前台html的写法

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>多文件上传页面</h1>
<form method="post" enctype="multipart/form-data" action="${pageContext.request.contextPath }/multiUpload.action">
 上传文件 <input type="file" name="upload" /> <br/>  //注意三个标签的name属性名相同,
 上传文件 <input type="file" name="upload" /> <br/>
 上传文件 <input type="file" name="upload" /> <br/>
 <input type="submit" value="上传" />
</form>
</body>
</html>

XML文件的写法

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts SYSTEM "http://struts.apache.org/dtds/struts-2.0.dtd" PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"> -<struts>

      <constant value="true" name="struts.devMode"/>

      <!-- 文件上传总大小 -->

      <constant value="20000000" name="struts.multipart.maxSize"/>-

      <package name="basicstruts2" extends="struts-default">-

           <action name="index">

               <result>/index.jsp</result>

           </action>

           <!-- 文件上传 -->

          -<action name="upload" class="cn.itcast.struts2.demo1.UploadAction">

                 <!-- 上传错误页面 ,如果出错仍然返回上传页面,并且可以用<s:filederror>来显示出错信息-->

                <result name="input">/demo1/upload.jsp</result>

                <!-- 设置上传参数 -->

-              <interceptor-ref name="defaultStack">

                       <!-- 只允许上传 mp3和txt文件 -->

                       <param name="fileUpload.allowedExtensions">.mp3,.txt</param>

                        <!-- 当前form 上传文件大小限制 -->

                        <param name="fileUpload.maximumSize">6000000</param>

               </interceptor-ref>

           </action>

         <!--多文件的上传 -->

          <action name="multiUpload" class="cn.itcast.struts2.demo1.MultiUploadAction"/>

     </package>

</struts>

 

 

转载于:https://www.cnblogs.com/hemingshui/p/3351401.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值