后端生成图片传给前端

这里给出两种方式:以字节数组为例和以Base64编码字符串为例。

  1. 将生成的图片转换成字节数组,然后将其作为响应体返回给前端:
@GetMapping("/image")
public ResponseEntity<byte[]> getImage() throws IOException {// 生成图片逻辑BufferedImage image = generateImage();// 将BufferedImage转换为字节数组ByteArrayOutputStream outputStream = new ByteArrayOutputStream();ImageIO.write(image, "png", outputStream);byte[] bytes = outputStream.toByteArray();// 返回ResponseEntity类型的响应体HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.IMAGE_PNG);return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
}
  1. 将生成的图片转换成Base64编码字符串,然后将其作为响应体返回给前端:
@GetMapping("/image")
public ResponseEntity<String> getImage() throws IOException {// 生成图片逻辑BufferedImage image = generateImage();// 将BufferedImage转换为Base64编码字符串ByteArrayOutputStream outputStream = new ByteArrayOutputStream();ImageIO.write(image, "png", outputStream);String base64Image = Base64.getEncoder().encodeToString(outputStream.toByteArray());// 返回ResponseEntity类型的响应体HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.TEXT_PLAIN);return new ResponseEntity<>(base64Image, headers, HttpStatus.OK);
}

注意:在以上代码中,generateImage()方法表示生成图片的逻辑,需要根据实际情况进行实现。同时需要在类上添加@RestController或者@Controller注解,以及在方法上添加@GetMapping("/image")注解,以表示请求映射路径。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部