jsp页面
<form action="uploadAction" method="post" enctype="multipart/form-data" >
<input type="file" name="myfile">
<input type="submit" value="上传">
</form>
struts2配置文件中,固定的语法
<result type="stream">
<param name="contentType">image/jpeg</param>
<!-- 以附件形式打开 -->
<param name="contentDisposition">attachment;fileName=${fileName}</param>
<param name="inputName">fieInputStream</param>
<param name="bufferSize">1024</param>
</result>
action层
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class UploadAction extends ActionSupport{
//文件对象
private File myfile;
//文件名
private String myfileFileName;
//文件类型
private String myfileContentType;
public String execute() throws Exception {
System.out.println(myfile.toString()+"---"+myfileFileName+"----"+myfileContentType);
//获得上传保存路径 /项目下/images
String savePath = ServletActionContext.getServletContext().getRealPath("/images/");
//输出图片的路径
System.out.println(savePath);
//判断是否为空
if(savePath != null){
File saveFolder = new File(savePath);
//判断文件是否存在
if(saveFolder.exists()){
saveFolder.mkdirs();
}
//参数一 :当前的文件 参数二:目标文件
FileUtils.copyFile(myfile, new File(savePath,myfileFileName));
}
return SUCCESS;
}
/**************/
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 getMyfileContentType() {
return myfileContentType;
}
public void setMyfileContentType(String myfileContentType) {
this.myfileContentType = myfileContentType;
}
}