package com.xuefeng.ssh.action;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class UploadFileAction extends ActionSupport{
private File image; //上传的文件
private String imageFileName; //文件名称
private String imageContentType; //文件类型
public String execute() throws Exception {
String realpath = ServletActionContext.getServletContext().getRealPath("/images");
System.out.println("realpath: "+realpath);
if (image != null) {
File savefile = new File(new File(realpath), imageFileName);
if (!savefile.getParentFile().exists())
savefile.getParentFile().mkdirs();
FileUtils.copyFile(image, savefile);
ActionContext.getContext().put("message", "文件上传成功");
}
return "success";
}
public File getImage() {
return image;
}
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
public String getImageContentType() {
return imageContentType;
}
public void setImageContentType(String imageContentType) {
this.imageContentType = imageContentType;
}
public void setImage(File image) {
this.image = image;
}
}
jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>upload</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
</head>
<body>
<form action="upload.action" enctype="multipart/form-data" method="post">
<table cellpadding="0" cellspacing="0" norder="0" align="center">
<caption>uploadfile</caption>
<tbody>
<tr>
<td>
<div>
文件:<input type="file" name="image">
</div>
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="submit"></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
XML
<action name="upload" class="com.xuefeng.ssh.action.UploadFileAction">
<result name="input" type="redirect">/listmember.action</result>
<result name="login" type="redirect">/login.jsp</result>
<result name="success" type="redirect">/listmember.action</result>
</action>