struts2文件上传.
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="/struts-tags" prefix="s" %> <s:form action="uploadFile" method="post" enctype="multipart/form-data" namespace="/FileUpload"> <s:textfield name="username" label="username"></s:textfield> <s:password name="password" label="password" ></s:password> <s:file name="myfile" label="select file"></s:file> <s:submit></s:submit> </s:form> <!--file:struts.xml--> <package name="uploadFileDemo" namespace="/FileUpload" extends="struts-default"> <action name="uploadFile" class="test.action.UploadFile"> <result>/FileUpload/upload-success.jsp</result> <result name="input">/FileUpload/upload.jsp</result> <interceptor-ref name="fileUpload"> <param name="allowedExtensions"> .jpg,.txt,.log </param> <!-- <param name="allowedTypes"> text/plain,application/jpeg </param> --> </interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </action> </package>
Action.java
package test.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;
public class UploadFile extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("UploadFile Action execute");
//ServletActionContext.getRequest().getrea.getRealPath("/FileUpload"); //deprecated
String pathRoot = ServletActionContext.getServletContext().getRealPath("/FileUpload");
File file=new File(pathRoot,myfileFileName );
FileUtils.copyFile(myfile,file);
return SUCCESS;
}
private String username;
private String password;
private File myfile;
private String myfileFileName;
private String myfileContextType;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public File getMyfile() {
return myfile;
}
public void setMyfile(File myfile) {
this.myfile = myfile;
}
public String getMyfileFileName() {
return myfileFileName;
}
public void setMyfileFileName(String myfileFileName) {
this.myfileFileName = myfileFileName;
}
public String getMyfileContextType() {
return myfileContextType;
}
public void setMyfileContextType(String myfileContextType) {
this.myfileContextType = myfileContextType;
}
}

浙公网安备 33010602011771号