文章目录
前言
当我们从服务器读取的图片链接返回给前端,前端可以很轻松的下载和展示,但是对于临时文件,我们不需要保存到服务器,比如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);}
返回结果示例:

版权归原作者 一碗情深 所有, 如有侵权,请联系我们删除。