过滤器中处理multipart/form-data头部的post请求request.getParameter(")获取不到参数问题
Posted fengwenzhee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤器中处理multipart/form-data头部的post请求request.getParameter(")获取不到参数问题相关的知识,希望对你有一定的参考价值。
如果不是文件类型请求,我们使用request.getParameter("");方法是可以获取到参数内容的,如果是文件类型的请求即请求的头部信息为“multipart/form-data”,时,需要如下处理:
HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; String contentType = req.getContentType(); if (contentType != null && contentType.contains("multipart/form-data")) { MultipartResolver resolver = new CommonsMultipartResolver(request.getSession().getServletContext()); MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(request); // 将转化后的 request 放入过滤链中 request = multipartRequest; }
通过spring的轮子,实现request的转换,然后使用request.getParameter("");
发现参数获取正常。
以上是关于过滤器中处理multipart/form-data头部的post请求request.getParameter(")获取不到参数问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 node.js 中处理 multipart/form-data
处理没有参数的“multipart/form-data”请求异常
如何在 Spring MVC 控制器中接收 multipart/form-data?
接口自动化-requests-toolbelt处理multipart/form-data
如何在 Spring Boot 中使用 multipart/form-data 处理没有 Content-Disposition 标头的 POST