关于multipart/form-data类型请求,filter失效的处理办法

来源:互联网 发布:最简单的小游戏的编程 编辑:程序博客网 时间:2024/06/04 20:09

这个是在java官网翻到的,需要特殊处理下:

Example 7.9 MultipartEncodeFilter - Standard Filter Strategy

public class MultipartEncodeFilter extends   BaseEncodeFilter {  public MultipartEncodeFilter() { }  public void doFilter(javax.servlet.ServletRequest     servletRequest, javax.servlet.ServletResponse     servletResponse,javax.servlet.FilterChain     filterChain)  throws java.io.IOException,     javax.servlet.ServletException {    String contentType =       servletRequest.getContentType();       // Only filter this request if it is multipart     // encoding                    if (contentType.startsWith(                "multipart/form-data")){      try {        String uploadFolder =           getFilterConfig().getInitParameter(              "UploadFolder");        if (uploadFolder == null) uploadFolder = ".";        /** The MultipartRequest class is:         * Copyright (C) 2001 by Jason Hunter         * <jhunter@servlets.com>. All rights reserved.         **/        MultipartRequest multi = new           MultipartRequest(servletRequest,                            uploadFolder,                           1 * 1024 * 1024 );        Enumeration params =                  multi.getParameterNames();        while (params.hasMoreElements()) {          String name = (String)params.nextElement();          String value = multi.getParameter(name);          servletRequest.setAttribute(name, value);        }        Enumeration files = multi.getFileNames();        while (files.hasMoreElements()) {          String name = (String)files.nextElement();          String filename = multi.getFilesystemName(name);          String type = multi.getContentType(name);          File f = multi.getFile(name);          // At this point, do something with the           // file, as necessary        }      }      catch (IOException e)      {        LogManager.logMessage(          "error reading or saving file"+ e);      }    } // end if    filterChain.doFilter(servletRequest,                          servletResponse);  } // end method doFilter()}


0 0
原创粉丝点击