采用struts上传文件
- *页面配置
- *ActionForm中使用FormFile来接收上传的文件,参加:UploadActionForm.java
- *在Action中调用FormFile取得上传文件数据,采用流输出,即完成上传,参见:UploadTestAction.java
- *采用<controller/>标签配置上传参数,如:<controller maxFileSize="20M"/>
示页面:
<li>测试struts上传</li>
<form action="upload.do" method="post" enctype="multipart/form-data">
标题:<input type="text" name="title"><br>
文件:<input type="file" name="myfile"><br>
<input type="submit" value="提交">
</form>
成功跳转页面:
上传成功!<br>
标题=【${uploadForm.title}】
文件名称=【${uploadForm.myfile.fileName}】<br>
属性action:
/**
* Created by zhou on 2017/3/13.
*/
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;
}
}
具体业务控制器action:
/**
* Created by zhou on 2017/3/13.
*/
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("title=" + uaf.getTitle());
System.out.println("fileName=" +uaf.getMyfile().getFileName());
FileOutputStream fos = new FileOutputStream("D:\\" + uaf.getMyfile().getFileName());
fos.write(uaf.getMyfile().getFileData());
fos.flush();
fos.close();
return mapping.findForward("success");
}
}
struts配置:
<struts-config>
<form-beans>
<form-bean name="uploadForm" type="com.zhou.struts.UploadActionForm"/>
</form-beans>
<action-mappings>
<action path="/upload"
type="com.zhou.struts.UploadTestAction"
name="uploadForm"
scope="request">
<forward name="success" path="/upload_success.jsp"/>
</action>
</action-mappings>
<controller maxFileSize="20M"/>
</struts-config>
效果图:
感谢您的宝贵时间···