在Java后端,可以使用以下步骤将图片的字节数组以流的形式返回给前端:

  1. 将图片的字节数组封装成一个InputStream对象,例如:
byte[] imageBytes = getImageBytes(); // 获取图片字节数组
InputStream inputStream = new ByteArrayInputStream(imageBytes);
  1. 设置响应头信息,告知浏览器返回的是图片数据:
response.setContentType("image/jpeg"); // 设置返回类型为JPEG图片
response.setContentLength(imageBytes.length); // 设置返回数据的长度
  1. 将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();
}
``
Java后端根据图片的字节数组以流的形式 显示前端

原文地址: https://www.cveoy.top/t/topic/gANQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录