Action:
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;
import org.apache.struts.upload.FormFile;
import cn.com.ambow.struts.day3.form.UpLoadForm;
public class UpLoadAction extends MappingDispatchAction {
public ActionForward upload(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
ActionForward forward = null;
UpLoadForm ufLoadForm = (UpLoadForm)form;
FormFile formFile = ufLoadForm.getFile();
//获得上传的路径
String path = getServlet().getServletContext().getRealPath("/upload");
System.out.println(path);
FileOutputStream out = new FileOutputStream(path+"/"+formFile.getFileName());
//获得文件内容
out.write(formFile.getFileData());
out.close();
request.setAttribute("message", formFile.getFileName());
forward = mapping.findForward("success");
return forward;
}
}
form:
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
public class UpLoadForm extends ActionForm {
private FormFile file;
public FormFile getFile() {
return file;
}
public void setFile(FormFile file) {
this.file = file;
}
}
upload.jsp:
<%@ page language="java" import="java.util.*,ectss.model.entity.*" pageEncoding="UTF-8"%>
<form action="${pageContext.request.contextPath }/upload.do" name="UploadForm" enctype="multipart/form-data" method="post" >
<input type="file" name="file"/>
<input type="hidden" name="img" value="${sessionScope.img }"/>
<br/><br/>
<center>
<input type="submit" value="上 传" id="img" />
<br>
<br>
<font style="font-size: 14px;color: green">${message }</font>
</center>
</form>
要实现文件上传的话 需要 enctype="multipart/form-data"