java 接口返回图片_SpringBoot使用@ResponseBody返回图片的实现
时间: 2023-08-06 11:07:50 浏览: 176
在 Spring Boot 中,可以使用 `@ResponseBody` 注解将一个返回值直接转换成指定的格式,例如将一个图片返回给前端页面。具体实现步骤如下:
1. 首先需要将图片文件读取到一个 `byte` 数组中:
```java
Path path = Paths.get("image.jpg");
byte[] data = Files.readAllBytes(path);
```
2. 在控制器中使用 `@ResponseBody` 注解将 `byte` 数组返回给前端页面:
```java
@GetMapping("/image")
@ResponseBody
public byte[] getImage() throws IOException {
Path path = Paths.get("image.jpg");
byte[] data = Files.readAllBytes(path);
return data;
}
```
3. 在前端页面中使用 `img` 标签加载该图片:
```html
<img src="/image" />
```
这样就可以在前端页面中显示该图片了。需要注意的是,图片的类型需要与实际的文件类型一致,并且需要设置正确的 MIME 类型。可以在控制器中使用 `MediaType` 枚举类来设置正确的 MIME 类型,例如:
```java
@GetMapping("/image")
@ResponseBody
public ResponseEntity<byte[]> getImage() throws IOException {
Path path = Paths.get("image.jpg");
byte[] data = Files.readAllBytes(path);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.IMAGE_JPEG);
headers.setContentLength(data.length);
return new ResponseEntity<>(data, headers, HttpStatus.OK);
}
```
阅读全文
相关推荐

















