最简单方式:使用base64字符串显示图片或二维码

今天给大家分享一个简单的显示图片或者二维码方式,就是使用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();

页面显示方式:

其中  data:image/jpg;base64,  一定要加.不然无法正常显示.

用浏览器F12点击查看就可知道发现他的src是base64转换后的字符串,而不是url地址.

多说一嘴,如果用来显示二维码的话,

ie8会不兼容,因为生成的base64字符串大于30k,二维码就会显示不完整导致扫码失效;

解决方案:后台生成二维码。可以参考我的博客java后台生成二维码以及页面显示二维码方式

结论:后台二维码生成是最好的方法,不用考虑兼容性问题;

不过如果对ie浏览器放松的话base64和js生成二维码是最简便的。大家自己选择吧。

你可能感兴趣的:(web前端)