您似乎
request从发送的有效负载
FileUploadClient与服务器期望的负载不匹配。您可以尝试更改以下内容吗?
MultiValueMap<String, Object> map = new linkedMultiValueMap<>();for(MultipartFile file : multiPartFileList) { map.add(file.getName(), new ByteArrayResource(file.getBytes()));}至
MultiValueMap<String, Object> map = new linkedMultiValueMap<>();List<ByteArrayResource> files = new ArrayList<>();for(MultipartFile file : multiPartFileList) { files.add(new ByteArrayResource(file.getBytes()));}map.put("files", files);另外,您是否可以尝试将服务器的方法签名更改为以下内容:
public ResponseEntity<?> uploadFiles(@RequestParam("files") List<MultipartFile> files, HttpServletRequest request) {更新资料
同时上传多个文件,你需要确保
getFileName的
ByteArrayResource每次都返回相同的值。如果没有,您将总是得到一个空数组。
例如,以下对我有用的作品:
客户:
MultiValueMap<String, Object> data = new linkedMultiValueMap<String, Object>(); for(MultipartFile file : multiPartFileList) { ByteArrayResource resource = new ByteArrayResource(file.getBytes()) { @Override public String getFilename() { return ""; } }; data.add("files", resource);}服务器
public ResponseEntity<?> upload(@RequestParam("files") MultipartFile[] files){


