首先是acion
package CSU.Ticket.Controller;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
public class UpLoadAction extends ActionSupport {
private File myFile;
private String myFileContentType;
private String myFileFileName;
private String destPath;
public String execute() {
/* Copy file to a safe location */
destPath = System.getProperty("user.dir") + "/GetTicket/src/main/webapp";
//String path = System.getProperty("user.dir") + "/GetTicket/src/main/webapp";
//System.out.println(path);
try {
//System.out.println("Src File name: " + myFile);
//System.out.println("Dst File name: " + myFileFileName);
File destFile = new File(destPath, myFileFileName);
FileUtils.copyFile(myFile, destFile);
} catch (IOException e) {
e.printStackTrace();
return ERROR;
}
return SUCCESS;
}
public File getMyFile() {
return myFile;
}
public void setMyFile(File myFile) {
this.myFile = myFile;
}
public String getMyFileContentType() {
return myFileContentType;
}
public void setMyFileContentType(String myFileContentType) {
this.myFileContentType = myFileContentType;
}
public String getMyFileFileName() {
return myFileFileName;
}
public void setMyFileFileName(String myFileFileName) {
this.myFileFileName = myFileFileName;
}
}
接下来是struts.xml的配置文件
<!-- 上传 -->
<action name="UpLoadFile" class="CSU.Ticket.Controller.UpLoadAction" method="execute" >
<interceptor-ref name="fileUpload">
<!-- 配置允许上传的文件类型,多个用“,”分隔 -->
<param name="allowedTypes">image/png,image/gif,image/jpg</param>
<!-- 配置允许上传的文件大小,单位字节,默认为2M -->
<param name="maximumSize">102400</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success">/test.html</result>
<result name="error">/test.html</result>
</action>