Java后端根据图片的字节数组以流的形式 显示前端
在Java后端,可以使用以下步骤将图片的字节数组以流的形式返回给前端:
- 将图片的字节数组封装成一个InputStream对象,例如:
byte[] imageBytes = getImageBytes(); // 获取图片字节数组
InputStream inputStream = new ByteArrayInputStream(imageBytes);
- 设置响应头信息,告知浏览器返回的是图片数据:
response.setContentType("image/jpeg"); // 设置返回类型为JPEG图片
response.setContentLength(imageBytes.length); // 设置返回数据的长度
- 将InputStream对象中的数据写入到HttpServletResponse的输出流中:
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.flush();
完整代码示例:
@RequestMapping("/getImage")
public void getImage(HttpServletResponse response) throws IOException {
byte[] imageBytes = getImageBytes(); // 获取图片字节数组
InputStream inputStream = new ByteArrayInputStream(imageBytes);
response.setContentType("image/jpeg"); // 设置返回类型为JPEG图片
response.setContentLength(imageBytes.length); // 设置返回数据的长度
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
outputStream.flush();
}
``
原文地址: https://www.cveoy.top/t/topic/gANQ 著作权归作者所有。请勿转载和采集!