如何将byte[] 转换后展示到前端springboot+js+html
时间: 2024-09-18 08:02:47 浏览: 34
springboot+thymeleaf 文件上传下载功能实现
在Spring Boot项目中,如果你需要将`byte[]`数据发送到前端,并在JavaScript和HTML页面上展示,通常会通过HTTP响应返回JSON格式的数据。你可以这样做:
1. **服务端处理** (Java): 在Spring Boot控制器的方法中,先将`byte[]`转换成支持序列化的字符串(如Base64编码):
```java
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/image")
public ResponseEntity<String> getImage() {
byte[] imageData = ... // 你的字节数组
String encodedImage = Base64.getEncoder().encodeToString(imageData);
return ResponseEntity.ok(encodedImage); // 使用ResponseEntity带有Content-Type为"application/json"
}
}
```
2. **前端接收** (JavaScript): 然后在前端的JavaScript中,你可以这样解析并显示数据:
```javascript
axios.get('/image')
.then(response => {
const decodedImage = atob(response.data); // 使用atob解码Base64字符串
// 将解码后的数据展示到img标签或者其他合适的HTML元素中
var imgElement = document.createElement('img');
imgElement.src = 'data:image/jpeg;base64,' + decodedImage;
document.body.appendChild(imgElement);
})
.catch(error => console.error(error));
```
阅读全文