1.前台jsp页面代码
<%@page pageEncoding = "UTF-8"%>
<h1>
文件上传例子
</h1>
<hr />
<form action="upload.action" method="post" enctype="multipart/form-data">
名称:
<input type="text" name="name" />
<br />
开始上传:
<input type="file" name="file" />
<br />
<input type="submit" value="上传" />
</form>2.UploadForm代码
package fileUpload.singleFileUpload.form;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UploadForm extends ActionForm {
private static final long serialVersionUID = 1L;
private String name;
private FormFile file;
private String fileSize;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}FormFile是Struts1专门用来处理文件上传和下载的,注意,属性name,file名字必须与jsp页面一致,否则会报空指针。
3.UploadAction中的代码
package fileUpload.singleFileUpload.action;
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import fileUpload.singleFileUpload.form.UploadForm;
public class UploadAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
UploadForm uf = (UploadForm)form;
String name = uf.getName();
FormFile file = uf.getFile();
System.out.println("name=" + name);
String filename = file.getFileName();
System.out.println("fileName=" + filename);
FileOutputStream fos = new FileOutputStream("d:\\["+name+"]" + filename); //创建输出流
fos.write(file.getFileData()); //写入
fos.flush();//释放
fos.close(); //关闭
return mapping.findForward("success");
}
}4.Struts配置文件
<form-bean name="uploadForm" type="fileUpload.singleFileUpload.form.UploadForm" />



