struts1 文件上传至Server(基础应用)
文件上传在struts1中是比较有优势的。
文件上传概述:使用HTML表单上传一个或多个文件,必须把HTML表单的enctype设置为multipart/form-data,method的属性设置为post
形式为
<form action="提交的action路径" method="post" enctype="multipart/form-data">.......jsp控件<input type="file" name="upload"/>.......jsp控件<input type="text" name="description"/>.......jsp控件<input type="submit" value="SUBMIT"/></form>struts中的文件上传重点
package com.mySoft.action;import java.io.File;import java.io.RandomAccessFile;import javax.servlet.ServletContext;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 com.mySoft.form.UploadForm;public class UploadAction extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception { UploadForm uploadForm = (UploadForm)form; if(uploadForm!=null){String description = uploadForm.getDescription(); FormFile formFile = uploadForm.getFormFile(); if(formFile!=null){ byte[] bytes = formFile.getFileData(); ServletContext servletContext = getServlet().getServletContext(); String path = servletContext.getRealPath("/WEB-INF"); String fileName = formFile.getFileName(); File uploadFile = new File(path,fileName); RandomAccessFile raf = new RandomAccessFile(uploadFile,"rw"); raf.write(bytes,0,bytes.length-2); raf.close(); } } return mapping.findForward("success");}}