我正在编写一个Spring Boot应用程序来处理由C ++应用程序创建的相当特殊的http请求。我目前无法更新客户端。
该应用发送HTTP POST。值得注意的标题如下:
Content-Length=[some integer]
Content-Type=multipart/form-data;boundary="CE85CD0D-A31F-49E0-BE27-DBBE4CF4EE98";charset=UTF-8
身体看起来像:
--CE85CD0D-A31F-49E0-BE27-DBBE4CF4EE98
Content-Disposition: attachment; filename="file.zip"
[file data]
--CE85CD0D-A31F-49E0-BE27-DBBE4CF4EE98>--
因此我的控制器没有name='foo'
来查找参数。尝试这样的事情:
@PostMapping("/api/fileupload/")
public ResponseEntity<String> postFileUpload(MultipartHttpServletRequest request) throws IOException {
Map<String, MultipartFile> files = request.getFileMap();
request.getFileMap()
返回一个空的地图。
request.getFileNames()
也为空。
是否有值得尝试的提示,可以提示应用程序识别正在提交的文件?
如果我们不能做到这一点,那么有一种方法可以到达原始请求主体以对其进行解析(非常麻烦,但这是我想到的唯一方法)。