这里主要记录下最近开发的一个小功能,就是在调用第三方接口时,返回的结果就是图片数据(也就是在浏览器直接输入三方接口后,页面上就直接看到图片了)。那么这时候如果需要多次请求这个接口,然后返回一个列表给前端,那么可能就需要将图片数据转换为base64给到某个字段再返回前端了。
话不多说,直接上源码
String imageUrl = HttpRequest.get("url")
.execute()
.body();
// 通过URL获取图片数据流
InputStream inputStream = new URL(imageUrl).openStream();
byte[] imageData = IOUtils.toByteArray(inputStream);
String base64Image = Base64.getEncoder().encodeToString(imageData);
以上代码,是先用hutool的工具去请求接口,然后imageUrl就是请求成功后拿到的图片数据,那么后续就进行转换base64的操作了。base64Image就是最后得到的图片base64,直接返回给前端即可。