关于过滤器无法过滤enctype="multipart/form-data"表单提交数据的问题


  写过滤器遇到如下问题:普通表单可正常过滤,multipart/form-data类型表单无法过滤提交的内容

  修改如下后正常

 1     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
 2             throws IOException, ServletException {
 3         HttpServletRequest httpRequest = (HttpServletRequest) request;
 4         String enctype = httpRequest.getContentType();
 5         if (StringUtils.isNotBlank(enctype) && enctype.contains("multipart/form-data")) {
 6             CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(
 7                     httpRequest.getSession().getServletContext());
 8             MultipartHttpServletRequest multipartRequest = commonsMultipartResolver.resolveMultipart(httpRequest);
 9 
10             XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(multipartRequest);
11             chain.doFilter(xssRequest, response);
12         } else {
13             XssHttpServletRequestWrapper xssRequest = new XssHttpServletRequestWrapper(httpRequest);
14             chain.doFilter(xssRequest, response);
15         }
16     }

参考资料:

1.post multipart/form-data 类型表单如何获取File外其他参数   http://blog.csdn.net/u012195214/article/details/73308577    

2.springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题  http://blog.csdn.net/qq_22956867/article/details/51437905

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM