upload.jsp
-----------------------------------------------------------------------------------------------------------------------------------
<body>
<form action="control/employee/list" method="post" enctype="multipart/form-data">
文件1:<input type="file" name="upload"> <br />
文件2:<input type="file" name="upload"> <br />
文件3:<input type="file" name="upload"> <br />
文件4:<input type="file" name="upload"> <br />
<input type="submit" value="提交">
</form>
</body>
UploadAction.java
-----------------------------------------------------------------------------------------------------------------------------------
package org.taink.struts.action;
import java.io.File;
import java.io.IOException;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
public class UploadAction{
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 IOException {
// 根据文件夹名称,获得服务器的真实路径
String realPath = ServletActionContext.getServletContext().getRealPath(
"upload");
// 根据文件夹路径构造出一个文件对象
File saveFile = new File(realPath);
// 如果文件路径不存在就创建文件夹
if (!saveFile.exists()) {
saveFile.mkdirs();
}
if (null != upload) {
for (int i = 0; i < upload.length; i++) {
System.out.println("文件临时位置: " + upload[i]);
System.out.println("文件名称: " + uploadFileName[i]);
System.out.println("文件类型: " + uploadContentType[i]);
System.out.println("文件大小: " + upload[i].length());
// 将临时文件夹中的文件复制到指定的文件夹中
FileUtils.copyFile(upload[i], new File(saveFile, uploadFileName[i]));
}
ActionContext.getContext().put("message", "上传文件成功");
}
return "success";
}
}