Struts下传文件技术
Struts上传文件技术
Struts-config.xml文件
Struts是应用于Web层的框架,在《潜入浅出Struts》中介绍了Struts的原理与工作流程,掌握了原理之后,还需要掌握Struts的一些具体技术细节。上传文件是我们常用的一个技术,上传图片与文件的原理是相同的。提供一个链接http://blog.****.net/muzizhuben/article/details/6444952,可以根据这篇文章更全面的学习Struts文件上传功能。
下面是一个上传文件的具体实现:
UploadActionForm文件
public class UploadActionForm extends ActionForm { private String title; //上传的文件必须采用FormFile声明 private FormFile myfile; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public FormFile getMyfile() { return myfile; } public void setMyfile(FormFile myfile) { this.myfile = myfile; } }
UploadAction代码
/** * 上传Action * @author Administrator * */ public class UploadTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //转换表单 UploadActionForm uaf = (UploadActionForm)form; //打印表单上传的文件名 System.out.println("fileName=" + uaf.getMyfile().getFileName()); //建立一个输出流,将上传的文件传到C盘 FileOutputStream fos = new FileOutputStream("c:\\" +uaf.getMyfile().getFileName()); //上传文件内容 fos.write(uaf.getMyfile().getFileData()); fos.flush(); fos.close(); //转向成功页面 return mapping.findForward("success"); } }
Struts-config.xml文件
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <form-beans> <form-bean name="uploadForm" type="com.bjpowernode.struts.UploadActionForm"/> </form-beans> <action-mappings> <action path="/upload" type="com.bjpowernode.struts.UploadTestAction" name="uploadForm" scope="request"> <forward name="success" path="/upload_success.jsp"/> </action> </action-mappings> <!--控制上传文件的大小 --> <controller maxFileSize="10M"/> </struts-config>
Upload.jsp页面