第一步:导入commons-fileupload-1.2.1.jar ,commons-io-1.3.2jar版本可能有所变化,但是只要记得是这两个jar包!
第二部:把form的enctype设置为multipart/form-data
例如
<form action="<%=basePath%>test/test.action" method="post" enctype="multipart/form-data">
<input type="file" name="image"/><br/>
<input type="submit" value="上传"/>
</form>
第三步
例子
package com.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 image;
private String imageFileName;
public String getImageFileName() {
return imageFileName;
}
public void setImageFileName(String imageFileName) {
this.imageFileName = imageFileName;
}
public File getImage() {
return image;
}
public void setImage(File image) {
this.image = image;
}
public String execute() throws Exception{
String realpath=ServletActionContext.getServletContext().getRealPath("/images");
File file=new File(new File(realpath), imageFileName);
if(!file.getParentFile().exists()){
file.getParentFile().mkdirs();
}
FileUtils.copyFile(image, file);//复制
ActionContext.getContext().put("message", "上传成功!");
return "message";
}
}