最近遇到好几次接入三方硬件设备图片base64保存失败的情况。每次都没有吸取教训,花了较长时间处理,故在此记录一下。
Java 通过SDK接收海康摄像头告警图片base64的时候,需要将空格转成“+”号。具体原因不清楚,值得注意的是base64索引中本身就不含有空字符。
解决方案只需要将空字符替换成“+”即可。
String imgBase64 = "/9j/4AAQSkZJRgA BAQAAAQ ABAAD/2wBD AAIBAQEB";
// 将空格转换成+
imgBase64 = imgBase64.replaceAll(" ","+");
在日常的开发测试中,发现对接以下设备都会出现这种情况:
1、海康摄像头
2、大华摄像头
3、旷视算法盒子
参考文章:
base64 加密出现+号_Base64编码详解_交易员.Coder的博客-CSDN博客https://blog.csdn.net/weixin_29038155/article/details/112126998base64-图片传输_破鞋何苦阑珊的博客-CSDN博客_base64图片
https://blog.csdn.net/u013368397/article/details/82563136