public Result uploadMaterial(String token) throws IOException {
String url = String.format(Constant.UPLOAD_MATERIAL_URL_POST, douyinProperties.getAppId(), token);
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.valueOf(MediaType.MULTIPART_FORM_DATA_VALUE));
File file = new File("/home/user/Downloads/carl.jpg");
byte[] bytes = new byte[(int) file.length()];
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(bytes);
fileInputStream.close();
ByteArrayResource byteArrayResource = new ByteArrayResource(bytes) {
@Override
public String getFilename() {
return "material_file";
}
};
MultiValueMap<String, Object> multiValueMap = new LinkedMultiValueMap<>();
multiValueMap.add("material_type", 7);
multiValueMap.add("material_file", byteArrayResource);
HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(multiValueMap, httpHeaders);
ResponseEntity<Result> responseEntity = restTemplate.exchange(url, HttpMethod.POST, httpEntity, Result.class);
return responseEntity.getBody();
}
Java 调接口使用 RestTemplate 传输字节流文件
最新推荐文章于 2025-10-16 11:29:51 发布
该段代码展示了如何使用Java的RestTemplate类将本地文件上传到Douyin平台。首先,它设置请求头为Multipart类型,然后读取指定路径的图片文件并转换为字节数组。接着,创建一个MultiValueMap,添加材料类型和文件资源,最后通过RestTemplate的exchange方法执行POST请求,返回响应结果。
295

被折叠的 条评论
为什么被折叠?



