upload.jsp
-------------------------------------------------------------------------------------------------------------------------
<body>
<form action="control/employee/list" method="post" enctype="multipart/form-data">
文件:<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 {
System.out.println("文件临时位置: " + upload);
System.out.println("文件名称: " + uploadFileName);
System.out.println("文件类型: " + uploadContentType);
System.out.println("文件大小: " + upload.length());
// 根据文件夹名称,获得服务器的真实路径
String realPath = ServletActionContext.getServletContext().getRealPath(
"images");
// 根据文件夹路径构造出一个文件对象
File saveFile = new File(realPath);
// 如果文件路径不存在就创建文件夹
if (!saveFile.exists()) {
saveFile.mkdirs();
}
if (null != upload) {
// 将临时文件夹中的文件复制到指定的文件夹中
FileUtils.copyFile(upload, new File(saveFile, uploadFileName));
ActionContext.getContext().put("message", "上传文件成功");
}
return "success";
}
}