1,单个上传
File name 文件 必须和前台保持一致
* String nameFileName 名称FileName
* String nameContentType 名称ContentType
enctype="multipart/form-data"必须要写表示文件上传
前台:
<form method="post" action="${pageContext.request.contextPath}/File/list" enctype="multipart/form-data"> 请选择上传的文件:<<input type="file" name="xls" > <input type="submit" value="文件上传">
后台:
package com.oracle.action; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import java.io.File; import java.io.IOException; import java.util.UUID; public class FileAction { private File xls; private String xlsFileName; private String xlsContentType; public File getXls() { return xls; } public void setXls(File xls) { this.xls = xls; } public String getXlsFileName() { return xlsFileName; } public void setXlsFileName(String xlsFileName) { this.xlsFileName = xlsFileName; } public String getXlsContentType() { return xlsContentType; } public void setXlsContentType(String xlsContentType) { this.xlsContentType = xlsContentType; } public String list() throws IOException { System.out.println(xls); System.out.println(xlsFileName); System.out.println(xlsContentType); //上传的路径 在webapp中建立一个Upload String path=ServletActionContext.getRequest().getSession().getServletContext().getRealPath("/Upload"); int index=xlsFileName.lastIndexOf("."); String suffix=xlsFileName.substring(index,xlsFileName.length()); //UUID表示每次生成不一样的数字 FileUtils.copyFile(xls,new File(path, UUID.randomUUID().toString()+"."+suffix)); return "list"; } }
2,多个文件上传
前台:
multiple="multiple"表示多个文件上传
<form method="post" action="${pageContext.request.contextPath}/MultiFile/list" enctype="multipart/form-data"> 请选择上传的文件:<<input type="file" name="xls" multiple="multiple" > <input type="submit" value="文件上传">
后台:
package com.oracle.action; import org.apache.commons.io.FileUtils; import org.apache.struts2.ServletActionContext; import java.io.File; import java.io.IOException; import java.util.UUID; public class MultiFileAction { private File[] xls; private String[] xlsFileName; private String[] xlsContenType; public File[] getXls() { return xls; } public void setXls(File[] xls) { this.xls = xls; } public String[] getXlsFileName() { return xlsFileName; } public void setXlsFileName(String[] xlsFileName) { this.xlsFileName = xlsFileName; } public String[] getXlsContenType() { return xlsContenType; } public void setXlsContenType(String[] xlsContenType) { this.xlsContenType = xlsContenType; } public String list(){ String path= ServletActionContext.getRequest().getSession().getServletContext().getRealPath("/Upload"); for(int i=0;i<xls.length;i++){ int i1=xlsFileName[i].lastIndexOf("."); String suffix=xlsFileName[i].substring(i1+1,xlsFileName[i].length()); try { FileUtils.copyFile(xls[i],new File(path, UUID.randomUUID().toString()+"."+suffix)); } catch (IOException e) { e.printStackTrace(); } } return "list"; } }