收藏
回答

使用WebClient 调用上传临时素材接口报错44001?

简要代码如下


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]

错误码查询工具截图如下


回答关注问题邀请回答
收藏
登录 后发表内容