过滤器中处理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

requests-toolbelt处理multipart/form-data