学习札记--Struts1 文件上传

来源:互联网 发布:q币赚钱软件 编辑:程序博客网 时间:2024/05/01 02:48
public class MyFileUpload extends Action {@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {ActionForward forward = mapping.findForward("success");String targetPath = request.getSession().getServletContext().getRealPath("/upload");String uploadSuccessFileName = "";if(ServletFileUpload.isMultipartContent(request)){System.out.println("this is a multipart form");ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());List<FileItem> files = upload.parseRequest(request);            File targetFile = null;            if(files != null && files.size() > 0)for(FileItem file : files){System.out.println(file.getName() + "upload start. Field Name:"+file.getFieldName());try{    targetFile = new File(targetPath+"/"+file.getName());    file.write(targetFile);    uploadSuccessFileName += file.getName() + " ";}catch(Exception ioe){ioe.printStackTrace();continue;}  }}request.setAttribute("fileName", uploadSuccessFileName);return forward;}}

其实算不上是struts1了 而是common-fileupload包。这里我用的是1.2.2版本,依赖common-io包。

上边红色代码,可能根据不同服务器稍有不同,这里是tomcat。

weblogic写法request.getSession().getServletContext().getResource("/").getPath()