Java 图片流输出ByteArray字符串到前台转图片方法及问题处理
来源:互联网 发布:萤石云无网络视频 编辑:程序博客网 时间:2024/05/21 11:55
在某些情况下Rest API约定不允许通过流形式直接GET提供到客户端直接展示图片。如果是这样,那么就只能把后端生成的图片转成ByteArray返回给前台,让前台重新把它变成图片!
{ "code": "200", "msg": "操作成功", "data": "iVBORw0KGgoAAAANSUhEUgAAAFAAAAAaCAIAAACvsEzwAAABxElEQVR42tWYS2rDMBCGtekJmgMU2l3PkCsUuuklCu0i9ycVqIhhHr/+kaWEGGFsvTyf5iW5XGevy+/P9aGuJnA5wvlYzJPAN2PeMXOds2Q//P55kkV2qA+tPD1/RCUl3HJmClh+u94tsBUOACvml6+3XtRHVdP59dstWeaSWh7M2Z8xsGQmgevMEbDFxnaR8+FGq2a0zJEBY2DJrOrvDKz0rFQtfXgHsJzQZd4IHDHP+TAAlmxKpI3AHbLNaJmtSbu0UiCJFD2QwGSyLNPx3QYwa9JDZhI4Mmm1EFKGvcA9aUW+quqPACsYBdzLYmBl4WppmaDVei40absFWubD9jWK0jhu1Z4qXIFXMkpLW3OZS2oruzZKzwHjPAxQ/4GB9t24J2ntQCZKu2kJv2Y3HmMfjtxdOSezoQeh0ta4Gdi2AuBIgIQPS3KrZOYEEzGnxg6PUMOe1GkpUotcgmlm8riHTYNkZoFdtShrzx5TswMjWVOLeAgYrHGKmR81xOANR7UWppOr4bsz85WylcrDS5QMRmX1BrLJcGZ247FEyViyKC9kmd3/MGPgSKXTqLy/8bEt+sfkruD4N+3tgV2MlJsMDfMPWxwKWHrFVh0AAAAASUVORK5CYII="}
data中包含了一个PNG图片验证码的ByteArray。但是这个信息放在Base64转图片的在线工具上是不能成功的。原因是,这个ByteArray不完整。缺少了一个图片的头信息,因此解析不出来。
补全如下代码后,成功解析!
data:image/png;base64,
完整的Base64数据是这样的:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAaCAIAAACvsEzwAAABq0lEQVR42tWYvU7FMAyFs7Axs7CysCAegB2J52CH4b4/RIpkWbZ7ehwn90JlVW0SOfnin7htP2fX9+ULdIHev3m1CvB/xF4AfH3sMZfIbYCL2JXNMvxYVQL4/el+iO7lG/cB77IwZtMrXg68MF5KwNLi21+eP4eQSI93HyJ+drl3eX140yJqyR1p/Pb3u2GTZ23k8ZwC1rQhs6YywNmguD2wQI4BwM798pzhMBAC88Dhs4zZCnykyrSHebulMsoOYLM+7NVH/kwWhV2opAWATQKbi2EfyeHR6gPYMDPJvGrhU2A+ixpgvwYDOcfMAvswxkeUtrA+Wk4nMkYGu38EjOeigDX2BHCqkDIx7LEZYGDqBLC3sOkFwEyWDl+P0q8GNlGjB/tJtwN7mQD2JjUhDQyLjiWfG8NUyWwNAPZrwpVWyAwqrdCZpaVNfAAWgSdS9BHzZKW1AziVnJkpGO9jpq4C4+LGrHX3XwRGVQM7WjS4yZZZ5lX/BoKkNQ2MGXg3O9VcN7go3GVh/cmOP1/qsZNivoZLe2beg9b+9FoDDJaFmbP6QXVNOk4f8AuHtcj0arT+ywAAAABJRU5ErkJggg==
在网页上如何直接显示这个图片呢,它现在还是一堆看不懂的Base64代码吖!!!看下面。
<img id="img_prev" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAaCAIAAACvsEzwAAABq0lEQVR42tWYvU7FMAyFs7Axs7CysCAegB2J52CH4b4/RIpkWbZ7ehwn90JlVW0SOfnin7htP2fX9+ULdIHev3m1CvB/xF4AfH3sMZfIbYCL2JXNMvxYVQL4/el+iO7lG/cB77IwZtMrXg68MF5KwNLi21+eP4eQSI93HyJ+drl3eX140yJqyR1p/Pb3u2GTZ23k8ZwC1rQhs6YywNmguD2wQI4BwM798pzhMBAC88Dhs4zZCnykyrSHebulMsoOYLM+7NVH/kwWhV2opAWATQKbi2EfyeHR6gPYMDPJvGrhU2A+ixpgvwYDOcfMAvswxkeUtrA+Wk4nMkYGu38EjOeigDX2BHCqkDIx7LEZYGDqBLC3sOkFwEyWDl+P0q8GNlGjB/tJtwN7mQD2JjUhDQyLjiWfG8NUyWwNAPZrwpVWyAwqrdCZpaVNfAAWgSdS9BHzZKW1AziVnJkpGO9jpq4C4+LGrHX3XwRGVQM7WjS4yZZZ5lX/BoKkNQ2MGXg3O9VcN7go3GVh/cmOP1/qsZNivoZLe2beg9b+9FoDDJaFmbP6QXVNOk4f8AuHtcj0arT+ywAAAABJRU5ErkJggg==" style="max-width:100%;border: 1px solid gray;" data-bd-imgshare-binded="1">
据说Node.js有别的处理方式,这个我还没有了解过。HTML静态展示就是这样搞。
但这样转换对浏览器的兼容性暂时没有测试,如果有测试过的朋友不吝赐教。
阅读全文
1 0
- Java 图片流输出ByteArray字符串到前台转图片方法及问题处理
- 图片流输出到前台成图片预览显示
- 前台给后台传图片处理方法
- Flex 与 Java 上传ByteArray图片数据
- ByteArray生成图片
- Flash 上传 ByteArray 数据到 php 并保存为图片
- 前台通过base64传图片到后台的实现方法
- java生产校验码图片,校验码字符串由前台js产生
- imgAreaSelect做前台图片截取+java后台处理
- java web图片处理方法
- Java图片处理方法大全
- java处理图片公共方法
- java -- 读取和输出图片到本地
- java处理图片-大图片输出小图片
- 前台界面显示图片问题
- 【转】java图片处理
- java打印图片和字符串到打印机
- Java Webservice 取数据库图片,图片以数组方式传递到Delphi前台显示
- 马克飞象快捷键
- 新兴机器学习算法:在线学习
- CSS隐藏div及html内容方法
- TensorFlow 笔记(三):多层 LSTM代码详细介绍
- Java后台面试题
- Java 图片流输出ByteArray字符串到前台转图片方法及问题处理
- 开发聊天功能时让滚动条一直置于页面最底部
- Android Studio如何发布APK
- 国际贸易基础(六)外贸流程
- 谈谈UIView的几个layout方法-layoutSubviews、layoutIfNeeded、setNeedsLayout...
- H5开发第一天
- 如何将war反编译为java项目
- javascript在iframe间传递数据
- jqGrid 新增行 保存新增的行到数据库