struts2多文件上传

第一步:

struts2中多文件上传,和文件上传都差不多;

首先都是在form表单中记得添加 enctype="multipart/form-data" 来指定有文件需要上传

需要注意的是name的名字都要一样,便于后面程序的管理。

例如:

<form enctype="multipart/form-data" action="<%=request.getContextPath()%>/control/department/action2" method="post">
              文件1:<input type="file" name="userImg"><br/>
              文件2:<input type="file" name="userImg"><br/>
              文件3:<input type="file" name="userImg"><br/>
             <input type="submit" value="提交">
 </form>

第二步:

接着是在action文件中添加属性:userImg[]、userImgFileName[](固定写法name+FileName两部分组成。  这个是用于得到文件的名称),并提供这2个属性的get和set方法,Struts2会自动把userimg复制到userImg[]中!

例如:

private File userImg[];//得到上传的文件
private String userImgFileName[];//得到文件的名称,固定写法
public File[] getUserImg() {
return userImg;
}
public void setUserImg(File[] userImg) {
this.userImg = userImg;
}
public String[] getUserImgFileName() {
return userImgFileName;
}
public void setUserImgFileName(String[] userImgFileName) {
this.userImgFileName = userImgFileName;
}

第三步:

最后在excute()方法中,将userImg[]文件复制到硬盘中

public String excute() throws IOException{
   String filePath=ServletActionContext.getServletContext().getRealPath("/imgs");//得到硬盘中存放imgs的真实路径!用于创建文件夹
   File file=new File(filePath);//得到文件夹
   if(!file.exists())file.mkdirs();//如果文件夹不存在,那么就创建
   if(userImg!=null){
    for(int i=0;i<userImg.length;i++){ //遍历所有的userImg[]
    FileUtils.copyFile(userImg[i], new File(file,userImgFileName[i]));//调用FileUtils方法 复制到硬盘中
    }
   }
return "message";
}
-----------------------------------------------------------苦难不是博得同情的资本,只有不断奋斗才能改变命运!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值