简要代码如下
public static String uploadMediaTest() throws IOException {
WebClient webClient = WebClient.create();
HttpHeaders headers = new HttpHeaders();
byte[] bytes = FileCopyUtils.copyToByteArray(new FileInputStream(FILE));
headers.add("Content-Disposition", "form-data;name=\"media\";filename=" + FILE.getName() + ";filelength=" + bytes.length);
headers.add("Content-Type", "application/octet-stream;charset=UTF-8");
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
HttpEntity<byte[]> entity = new HttpEntity<>(bytes, headers);
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<>();
parts.add("media", parts);
String response = webClient.post().uri(URI.create(URL))
.contentType(MULTIPART_FORM_DATA)
.body(fromMultipartData(parts))
.retrieve()
.bodyToMono(String.class)
.block(ofSeconds(HTTP_TIMEOUT));
logger.info("**********************************************************************");
logger.info("*********************************** response = {} ***********************************", response);
logger.info("**********************************************************************");
return response;
}
返回结果 {"errcode":44001,"errmsg":"empty media data, hint: [xxxxxxxxxxxx]
错误码查询工具截图如下