關於過濾器無法過濾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