<%@ taglib uri="/struts-tags" prefix="s" %>
<s:form action="./oneupload" method="post" enctype="multipart/form-data">
<s:file name="file"></s:file>
<s:submit value="提交" />
</s:form>
<s:form action="./uploads" method="post" enctype="multipart/form-data">
<s:file name="files"></s:file>
<s:file name="files"></s:file>
<s:file name="files"></s:file>
<s:submit value="提交" />
</s:form>
package www.sshblank.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.io.FileUtils;
import org.apache.logging.log4j.core.util.UuidUtil;
import org.apache.struts2.ServletActionContext;
import com.alibaba.fastjson.JSONObject;
public class FileAction{
private File file;
private String fileFileName;
private String fileContentType;
private File[] files;
private String[] filesFileName;
private String[] filesContentType;
private JSONObject json = new JSONObject();
public JSONObject getJson() {
return json;
}
public void setFile(File file) {
this.file = file;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
public void setFiles(File[] files) {
this.files = files;
}
public void setFilesFileName(String[] filesFileName) {
this.filesFileName = filesFileName;
}
public void setFilesContentType(String[] filesContentType) {
this.filesContentType = filesContentType;
}
/**
* @author 佳。
* @date 2016年3月23日
* @Description: 文件上传
* @param: @return
* @return String
* @throws
*/
public String oneUpload(){
HttpSession session = ServletActionContext.getRequest().getSession();
String root = ServletActionContext.getServletContext().getRealPath("/WEB-INF/upload");
File rootFile = new File(root);
if(!rootFile.exists()){
rootFile.mkdirs();
}
try {
String postfix = fileFileName.substring(fileFileName.lastIndexOf("."));
String fileName = UuidUtil.getTimeBasedUuid().toString();
fileName = fileName+postfix;
session.setAttribute("fileName", fileName);
FileUtils.copyFile(file, new File(rootFile, fileName));
json.put("msg","true");
return "oneUpload";
} catch (IOException e) {
json.put("msg","导入失败!");
return "oneUpload";
}
}
/**
* @author 佳。
* @date 2016年3月23日
* @Description: 多文件上传
* @param: @return
* @return String
* @throws
*/
public String uploads(){
String root = ServletActionContext.getServletContext().getRealPath("/WEB-INF/upload");
File rootFile = new File(root);
if(!rootFile.exists()){
rootFile.mkdirs();
}
for(int i=0;i<files.length;i++){
try {
FileUtils.copyFile(files[i], new File(rootFile, filesFileName[i]));
} catch (IOException e) {
e.printStackTrace();
}
}
return "uploads";
}
}
<action name="file_oneUpload" class="fileAction" method="oneUpload">
<interceptor-ref name="fileUpload">
<param name="maximumSize">20480000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="oneUpload" type="redirectAction">student_studentReader</result>
</action>
<action name="file_uploads" class="fileAction" method="uploads">
<interceptor-ref name="fileUpload">
<param name="maximumSize">20480000</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="uploads" type="json"></result>
</action>