luweifeng1983 发表于 2013-2-6 10:20:47

使用struts进行文件上传

Struts下进行文件上传。
配置文件如下内容:
<form-bean name="uploadForm" type="com.lwf.struts.action.upload.UploadForm"></form-bean><action path="/upload/upload" type="com.lwf.struts.action.upload.UploadAction" name="uploadForm"><forward name="success" path="/upload/uploadsuccess.jsp"></forward></action><controller maxFileSize="10m"/>上面的controller 标签用来配置上传文件的最大值。
 
上传的表单文件upload.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@ include file="/share/jsp_head_include.jspf" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><form name="uploadForm" action="upload.do" enctype="multipart/form-data" method="post">title:<input type="text" name="title"></input><br>file:<input type="file" name="myfile"></input><br><input type="submit" value="submit"></input><br></form></body></html> 
AcitonForm文件:UploadForm
package com.lwf.struts.action.upload;import org.apache.struts.action.ActionForm;import org.apache.struts.upload.FormFile;public class UploadForm extends ActionForm {private String title;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文件
package com.lwf.struts.action.upload;import java.io.File;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 org.apache.struts.upload.MultipartRequestHandler;public class UploadAction extends Action {public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {UploadForm uploadForm = (UploadForm)form;String title = uploadForm.getTitle();MultipartRequestHandler handler = uploadForm.getMultipartRequestHandler();FormFile myFile = uploadForm.getMyfile();if(myFile!=null){String fileName = myFile.getFileName();byte[] byteArray = myFile.getFileData();FileOutputStream fos = new FileOutputStream(new File("c:/" +fileName));fos.write(byteArray);fos.flush();fos.close();}return mapping.findForward("success");}} 
uploadsuccess.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>upload sucess.标题:${uploadForm.title }文件名:${uploadForm.myfile.fileName }</body></html> 
 
注意的地方:
在Form中,使用了FormFile类型专门接收文件类型
 
 
 
页: [1]
查看完整版本: 使用struts进行文件上传