将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片

2023-11-09

前提摘要:最近做一个项目,是关于slam的,给slam发送构建地图的命令,slam不断返回json串,而地图的图片在json串中已经经过base64编码了,我这边需要将base64编码解析并以流的方式传给前台显示出来,但是消息是不断要接收的,也就是说,前台页面的图片是要不断刷新的,这部分我还没有实现,目前实现的就是从json-->byte[]-->io流-->前台页面显示。好了,言归正传,下面步入正题,上代码:

为了本地测试一下,我先讲一个图片进行base64编码,代码如下:

//将图片文件转化为字节数组字符串,并对其进行Base64编码处理  
public static String baseImage() {
	 String imgFile = "F://timg.png";//待处理的图片 
	 InputStream in = null;
	 byte[] data = null;
	  //读取图片字节数组 
	 try {
		in=new FileInputStream(imgFile);
		data=new byte[in.available()];
		in.read(data);
		in.close();
		
	} catch (Exception e) {
		e.printStackTrace();
	}
	 //对字节数组Base64编码  
	 BASE64Encoder encoder=new BASE64Encoder();
	 //base64编码会自动换行
	 String imageData = encoder.encode(data).replaceAll("[\\s*\t\n\r]", "");
	return imageData;
}

将上面输出的base64编码,写了一个类似的json串,下面就是解析并发送给前台显示的后台代码了:

//将slam返回的地图json中的data(图片转换后的base64编码)以流的方式传给前台进行显示
	@RequestMapping("/toImage")
	public  String doImage(Model model,HttpServletRequest request,HttpServletResponse response) throws Exception {
		//模拟真正的json串,data中就是图片的base64编码
	String msg="{\"message_type\": \"all_robot_info\", \"data\": \"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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片 的相关文章

  • 目标跟踪算法研究整理

    最近项目有用到目标跟踪的算法 用的还是传统opencv 整理一下 1 基础框架 目标跟踪基础认识 视频图像跟踪算法综述 opencv实现目标跟踪的八种算法 2 CSRT追踪器 CSRT追踪器 官方描述 在具有通道和空间可靠性的判别相关滤波器
  • JSX初探

    需求 动态的创建HTML页面 假设有一个布尔变量 editable 为true时创建A界面 为false时创建B界面 A界面 div class div B界面 div class div 现有的实现思路有两个 一 JS动态创建HTML标签
  • Unity3D物体上下左右旋转(不受物体自身坐标轴影响【万向锁问题解决】)

    直接将代码挂载到需要旋转的物体上 按上下左右键旋转即可 using UnityEngine using System Collections public class SpinObject MonoBehaviour public Game
  • FineReport.10 一(帆软)(报表基础练习)

    文章目录 一 FineReport 1 报表 2 安装 二 安装目录 2 1 设计器相关目录 2 2 工程相关文件夹 2 3 缓存文件 2 3 1 FineReportEnv xml 三 初始练习 四 遇见的问题记录 1 初始数据库出问题需
  • Python基础入门(五)——关于一个Number类型的小实例

    Number类型数据是我们在python当中经常要用到的数据类型 先上一些小知识点 再上实例 相关知识点 Number类型 Number类型 Number类型的定义和删除 一句话 赋值就是定义 删除要用DEL 定义 var1 1 var2
  • 大语言模型的演进

    大语言模型的演进 借着上次科技树剪枝的话题 大语言模型为人工智能科技树再次剪枝 让我们再来看看大语言模型这个分枝是如何生长的 也是经历6年的Google和OpenAI两家公司几次大战后的结果 第一回合 2017年6月 Google的6500
  • 从代码生成到问题解答,InsCode AI助你成为编程及写作高手

    目录 前言 InsCode AI写作助手 创造更好的写作体验 InsCode AI 创作助手 如何帮助创作者高效创作文章 结论 个人感受 一 你平时会使用这类AI工具吗 你对这类型的工具有什么看法 二 你可以花几分钟体验一下InsCode
  • 新的刷脸支付方式掘起手机支付将会終结

    手机支付将会終结 新的支付方式掘起 新的支付方式对很多人还是很陌生的 这就要很好的推广和布置 现在推出了二代的蜻蜓刷脸设备 向商户销售出了舒缓的二代蜻蜓刷脸支付设备 超市 快餐厅 自动贩卖机都已经实现商业直播 相信很快在每个城市 都会发现这
  • 重载new/delete(C++中的new/delete与operator new/operator delete)

    转 http blog csdn net zhangxiao93 article details 50768025 原文 http www cnblogs com luxiaoxun archive 2012 08 10 2631812 h
  • k8s的dashboard日常操作

    k8s的dashboard日常操作 一 k8s的dashboard介绍 1 dashboard介绍 2 dashboard的功能 集群管理 工作负载 服务发现和负载均衡 存储 配置 日志视图 三 查看集群的所有角色 四 查看集群的命令空间
  • Python数据结构-----递归实现快速排序

    目录 前言 快速排序 1 概念 2 示例 Python代码实现 递归实现快速排序 前言 今天我们就来一起学习快速排序的思想方法 然后通过Python语言来实现快速排序的功能 下面我们就开始今天的学习吧 快速排序 1 概念 快速排序其实是冒泡
  • 使用ggplot2包绘制分组带状图实战

    使用ggplot2包绘制分组带状图实战 在数据可视化中 分组带状图是一种常用的图表类型 可以直观地展示多个组别之间的差异和变化趋势 而R语言中的ggplot2包提供了丰富的绘图函数 其中geom jitter函数可以用来创建分组带状图 下面
  • SpringBoot + Websocket 实现实时聊天

    SpringBoot WebSocket 实现实时聊天 最近有点小时间 上个项目正好用到了websocket实现广播消息来着 现在来整理一下之前的一些代码 分享给大家 WebSocket协议是基于TCP的一种新的网络协议 它实现了浏览器与服
  • ctfshow-web10 with rollup 绕过

    0x00 前言 CTF 加解密合集 CTF Web合集 网络安全知识库 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 题目 0x02 Write Up 基本方法 到处点一点 点到取消的时候 突然发现 可以下载一个文
  • C语言中signed和unsigned怎么理解?C语言unsigned long、long long 取值范围???

    C语言中signed和unsigned signed意思为有符号的 也就是第一个位代表正负 剩余的代表大小 例如 signed int 大小区间为 128 127 unsigned意思为无符号的 所有的位都为大小 没有负数 例如 unsig
  • java实现下载excel读取与生成超详细

    背景 没啥背景 就是要做这个功能 创建ExcelUtil工具类 具体导入导出方法如下 excel导入 param inputStream 导入的excel文件 return public static List
  • 酱香咖啡喝了没?用数据分析揭秘瑞幸咖啡的7500万用户增长策略

    瑞幸 X 茅台 这波联名赢麻了 不仅狂卖 542 万杯 甚至带动茅台市值飙升200亿 瑞幸这几年联名搞了不少 又是线条小狗的爱情故事 又是椰树 维密 周大福 足球的 下面老李就从数据分析角度 带大家来看一下近几年 瑞幸咖啡的用户增长策略 是
  • 数据结构笔记之链式栈的基本操作

    include stdio h include stdlib h include io h include math h include time h define OK 1 define ERROR 0 define TRUE 1 def
  • VMWare安装

    1 1 VMWare简介 VMWare是一个虚拟技术的合集 它提供了众多的相关软件 类似于Parallels VMWare是商业应用 而且价格非常的贵 所以 通常我们使用的是网上别人破解的版本 而不是使用官方的正版 VMWare官网 VMw
  • 【UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xd3 in position 0: invalid continuation byte】

    UnicodeDecodeError utf 8 codec can t decode byte 0xd3 in position 0 invalid continuation byte F jupyter work dir MMLAB m

随机推荐

  • 有一个公网IP,在内网如何架设多台服务器?

    进行内网ip到外网ip的映射 也就是pat 这个工作现在多半由防火墙来完成 不过如果没有防火墙 用路由器也可以完成 只不过会在高峰时加重路由器的负担 思科2600路由可以独立完成各种nat pat但是因为这款产品本身属于低端产品 所以能够担
  • Java8学习记录(一)——Lambda表达式

    这两天看了 Java8实战 做一下记录 目录 一 行为参数化 1 什么是行为参数化 二 函数式接口 1 概念 三 Lambda表达式 四 方法引用 注意点 1 静态方法引用 2 实例方法引用 重点来了 任意类型的实例方法引用 现有对象的实例
  • 【深度学习】树莓派Zero w深度学习模型Python推理

    在机器学习开发过程中 当模型训练好后 接下来就要进行模型推理了 根据部署环境可分为三类场景 边缘计算 一般指手机 嵌入式设备 直接在数据生成的设备上进行推理 因为能避免将采集到的数据上传到云端 所以实时性非常好 端计算 介于云和边缘设备之间
  • Spring Boot 集成Mybatis实现多数据源

    总体来说多数据源配置有两种方式 一种是静态的 一种是动态的 静态的方式 我们以两套配置方式为例 在项目中有两套配置文件 两套mapper 两套SqlSessionFactory 各自处理各自的业务 这个两套mapper都可以进行增删改查的操
  • GPU版本安装Pytorch教程最新方法

    目录 步骤 第一步 安装 Anaconda 和 Pycharm 软件 第二步 下载安装CUDA11 3 1 首先查看自己电脑GPU版本 方式一 搜索框输入nvidia 打开nvidia控制面板 方式二 win R打开cmd 输入nvidia
  • ubuntu的FTP服务器搭建

    1 安装服务器 sudo apt get install vsftpd 如果有错误 先执行 apt update 2 创建用户 Linux下的用户 创建专用目录 mkdir home ftp 命令添加ftp用户 sudo useradd d
  • 基于tiny6410的led驱动程序

    今天弄了一个晚上了 终于弄懂了第一个简单的linux驱动感觉很多人编写的第一个驱动也是拿led开刀的吧 本文的led驱动是基于tiny6410的四个led驱动 用字符设备的驱动模块 而不是混杂设备驱动模块来编写 本人在使用混杂设备方法编写的
  • 5735. 雪糕的最大数量

    夏日炎炎 小男孩 Tony 想买一些雪糕消消暑 商店中新到 n 支雪糕 用长度为 n 的数组 costs 表示雪糕的定价 其中 costs i 表示第 i 支雪糕的现金价格 Tony 一共有 coins 现金可以用于消费 他想要买尽可能多的
  • pyspark指定schema

    通过StructType对象指定DataFrame的Schema 没有嵌套结构的json jsonString id 01001 city AGAWAM pop 15338 state MA id 01002 city CUSHMAN po
  • r语言 col_co,cob,col,con,cor,cog前缀其实都是com变化而已

    c开头前缀有co cob col com con cor cog等 哪它们有什么关联呢 下面我们来分析 come 英 k m 美 k m v 来 来到 到达 com前缀可以看成come变化而成 全部来到就是聚集到一起 表聚集 加强 强调的
  • select函数使用浅析

    一 函数原型及参数说明 int select int maxfdp fd set readfds fd set writefds fd set errorfds struct timeval timeout 返回值 负值 select错误
  • VIM-Plug安装插件时,频繁更新失败,或报端口443被拒绝

    安装vim插件 tabular时候一直报错 尝试了网上大部分办法 全部失败 方法 直接按照报错的内容自己手动操作 错误如下图 第一步 去github检查插件的网址有没有问题 直接复制网址浏览器搜索 若长时间加载不上 使用科学上网 第二步 若
  • 重写equals方法

    重写equals方法 相信在每个人都有过重写过java的equals的方法的经历 这篇博文就从以下几个方面说明重写equals方法的原由 与君共进步 一 为什么要重写equals方法 首先我们了解equals方法的作用是什么 java的官方
  • [论文笔记] GENDA: A Graph Embedded Network Based Detection Approach on encryption algorithm

    GENDA A Graph Embedded Network Based Detection Approach on encryption algorithm of binary program JISA 2022 Xiao Li Scho
  • 关闭apache-httpClient日志遇到的坑

    log4j logger org OFF log4j logger httpclient OFF 看org apache commons httpclient Wire源码才知道他没有遵循类名 httpclient wire public
  • requests、aiohttp、httpx性能大比拼

    在Python中 有许多用于发送HTTP请求的库 其中最受欢迎的是requests aiohttp和httpx 这三个库的性能和功能各不相同 因此在选择使用哪个库时 需要考虑到自己的需求和应用场景 首先 让我们来了解一下这三个库的基本介绍
  • 科技,让二次元老婆动起来

    想让你的二次元老婆动起来吗 前不久 Meta 也就是Facebook 发布了一款有趣的AI工具Animated Drawings 它可以让静态的儿童画动起来 有些懂行的朋友一看就说 哎呀这不就是关键点检测再加动态化嘛 道理是这个道理 但是儿
  • MYSQl:关于AUTO_INCREMENT

    auto increment是用于主键自动增长的 从1开始增长 当你把第一条记录删除时 再插入第二条数据时 主键值是2 不是1 问题来源 拷贝了公司项目的regions表 发现建表的sql语句如下 CREATE TABLE es regio
  • 两数求最大值 和 交换两个数字

    两数求最大值 include
  • 将图片进行base64 编码后的数据进行读取,以io流的方式传给前台并显示出来并且不断刷新图片

    前提摘要 最近做一个项目 是关于slam的 给slam发送构建地图的命令 slam不断返回json串 而地图的图片在json串中已经经过base64编码了 我这边需要将base64编码解析并以流的方式传给前台显示出来 但是消息是不断要接收的