今天给大家分享一个简单的显示图片或者二维码方式,就是使用base64字符串方式。
我这里呢是用来进行显示了一个二维码,其实本质和图片是一样的,大家看看,废话不多说,直接贴代码
//qrcodeUrl:二维码url
qrcodeUrl = URLDecoder.decode(responseMap.get("qrcodeUrl"), "UTF-8");
System.out.println(qrcodeUrl);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//生成二维码
QRCodeUtils.generate(qrcodeUrl, baos);
byte[] bytes = baos.toByteArray();
//转换base64方式
imageURIScheme = new BASE64Encoder().encode(bytes).trim();
页面显示方式:
<img id="ewmsrc" width="340px" height="340px" src="https://img-blog.csdnimg.cn/2022010618120648201.jpg" />
<img src="data:image/jpg;base64,base64转码后的字符串" ></img>其中 data:image/jpg;base64, 一定要加.不然无法正常显示.
用浏览器F12点击查看就可知道发现他的src是base64转换后的字符串,而不是url地址.
多说一嘴,如果用来显示二维码的话,
ie8会不兼容,因为生成的base64字符串大于30k,二维码就会显示不完整导致扫码失效;
解决方案:后台生成二维码。可以参考我的博客java后台生成二维码以及页面显示二维码方式
结论:后台二维码生成是最好的方法,不用考虑兼容性问题;
不过如果对ie浏览器放松的话base64和js生成二维码是最简便的。大家自己选择吧。