前台获取后台返回的图片并显示
来源:互联网 发布:海南医学院怎么样知乎 编辑:程序博客网 时间:2024/05/23 00:41
后台:
String base64str=new String(log.getRequest_imgdata());//log为实体 括号里面是图像的get方法 返回为Byte[]型String new str=new String("\"data:image/jpg;base64,"+base64str+"\"");//拼装Base64字符串头response.getWriter().write(newstr);//将完整Base64字符串返回前台
前台Js:
var srcUrl = appJP.urlReqImg +"?log_id="+row.log_id;//请求URL $.get(srcUrl,function(data){ var imgWindow = $("#imgDetail").html("<img src="+data+">");//接收Base64字符串,并转换为图片显示 $("#showImg").window({title:"图片详情",width:"auto"}).window("open").window("center"); })
以上已实现从数据库取出BLOB类型Base64图像数据(Java中为byte[])转换为字符串,并发送至前台显示
但是在测试中发现稍微大一点的图像(几百KB)在部分IE浏览器中不能显示,查询资料发现是IE8以下对Base64解码长度限制的问题
解决方案:更换后台到前台传输图像数据形式为流的形式
后台:
String base64str=new String(log.getRequest_imgdata());BASE64Decoder decoder=new BASE64Decoder();byte[] imgbyte=decoder.decodeBuffer(base64str);//解码Base64图片数据response.setContentType("image/jpeg");ServletOutputStream outputStream = response.getOutputStream();outputStream.write(imgbyte);outputStream.flush();
前台js:
var srcUrl = appJP.urlReqImg +"?log_id="+row.log_id;var imgWindow = $("#imgDetail").html("<img src="+srcUrl+">");$("#showImg").window({title:"图片详情",width:"auto"}).window("open").window("center");
0 0
- 前台获取后台返回的图片并显示
- js上传图片并前台显示后台保存
- 获取后台传输的二进制流图片并显示
- 用js实现前台获取后台变量并点击显示
- 前台jsp获取后台查询的结果集数据并实现分页显示
- 前台jsp控件获取java后台返回的值
- 使用spring mvc前台获取后台返回的List
- easy ui怎么把前台显示的dataGird中的所有数据序列化为json,返回到后台并解析
- 求助:关于后台获取时间,前台显示倒计时的问题
- HttpUploadFile模拟前台POST上传图片和后台获取上传图片并上传至服务器
- web:后台生成图片供前台显示
- 玩转Web之Json(三)-----easy ui怎么把前台显示的dataGird中的所有数据序列化为json,返回到后台并解析
- JSP将后台返回的数据显示并分页
- FLEX4.7 与Java后台交互返回json格式的数组 并赋值给前台datagrid
- 前台截取一定长度的后台返回文字,并在后面加省略号
- 前台调用后台返回json的事例
- 从后台返回消息到前台显示(持续更新)
- 前台显示上传的图片
- 用户权限设计(一)-数据库设计
- Opencv学习---霍夫变换
- 套接字模式
- 卸载win10 自带应用
- 栈
- 前台获取后台返回的图片并显示
- 宜信大数据创新中心2017实习生面试(三轮)
- Linux下访问网络文件系统
- Paxos算法原理与推导
- 散布矩阵(Scatter Matrix)
- QT编译,一直循环报错:file“xxxxx”has modification times xxxxx s in the future..
- 求任意多边形面积-有向面积
- Qt Quick事件处理
- ldap 网络账号