0


Java 图片渲染到前端,向前端一次返回多张Base64图片

文章目录


前言

当我们从服务器读取的图片链接返回给前端,前端可以很轻松的下载和展示,但是对于临时文件,我们不需要保存到服务器,比如PPT转图片,PDF转图片等等,我们需要直接返回给前端,对于一张图片可以使用flush()渲染到前端,多张图片可以把图片编码成Base64,并存储到数组中。


图片渲染到前端

/**
     * 文件字节流渲染前端
     *
     * @param is       输入流
     * @param response 响应
     */privatestaticvoidflush(InputStream is,HttpServletResponse response){try(ServletOutputStream out = response.getOutputStream()){byte[] buff =newbyte[1024];int length =0;while((length = is.read(buff))>0){
                out.write(buff,0, length);}IOUtils.closeQuietly(is);
            out.close();
            out.flush();}catch(IOException e){
            e.printStackTrace();}}

返回结果示例:

在这里插入图片描述

向前端一次返回多张Base64图片

1、将图片用for循环从内存读出

2、将图片编码成Base64,并存储到数组ArrayList中

3、返回给前端编码好的图片,前端代码依次解析即可

List<String> base64Images =newArrayList<>();for(byte[] image : images){String base64str =Base64.encodeBase64String(image);
        base64Images.add("data:image/png;base64,"+ base64str);}

返回结果示例:

在这里插入图片描述

标签: java

本文转载自: https://blog.csdn.net/xiaohuihui1400/article/details/131291397
版权归原作者 一碗情深 所有, 如有侵权,请联系我们删除。

“Java 图片渲染到前端,向前端一次返回多张Base64图片”的评论:

还没有评论