在Spring Boot中如何处理具有multipart / form-data且没有Content-Disposition标头的POST

时间:2018-09-21 07:34:47

标签: spring-mvc spring-boot post multipartform-data

我正在使用Sprin Boot,我需要处理这种类型的请求:

POST /post HTTP/1.0
content-type: multipart/form-data;boundary=482CFA229C8C00EBE48F4FAE633EDB4A0
content-length: 157
x-numbercomps: 1 
user-agent: SAP NetWeaver Application Server (1.0;750)
host: 172.0.0.1:8080
accept-encoding: gzip

--482CFA229C8C00EBE48F4FAE633EDB4A0
Content-Type: text/plain
Content-Length: 11
X-compId: test.txt

content
--482CFA229C8C00EBE48F4FAE633EDB4A0--

控制器:

@PostMapping(value = "/**", params = {"create"}, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String createPost(HttpServletRequest request,
                         @RequestParam MultipartFile... files) {
    //do some staff

    return "";
}

在控制器中没有错误,但是MuiltipartFiles的数量为0

没有内容处置方式,Spring无法识别MultipartFile。

有人知道如何处理吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我已经使用了您的控制器并发布了多个文件,似乎没有问题,并检查了所有标头,但标头中没有Content-Disposition,但是我可以看到所有文件的详细信息。似乎问题是发送请求而不是Spring引导端。

请参见以下屏幕截图:

Multipart file request

这是我收到的标头,没有Content-Disposition

Headers