struts2多文件上传

来源:互联网 发布:java数字转字符串 编辑:程序博客网 时间:2024/06/06 04:36

第一步:

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";}
-----------------------------------------------------------苦难不是博得同情的资本,只有不断奋斗才能改变命运!



0 0
原创粉丝点击