1. 程式人生 > >最簡單方式:使用base64字串顯示圖片或二維碼

最簡單方式:使用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();

頁面顯示方式:

<img id="ewmsrc" width="340px" height="340px" src="data:image/jpg;base64,<%=imageURIScheme%>" />

<img src="data:image/jpg;base64,base64轉碼後的字串" ></img>其中  data:image/jpg;base64,  一定要加.不然無法正常顯示.

用瀏覽器F12點選檢視就可知道發現他的src是base64轉換後的字串,而不是url地址.

多說一嘴,如果用來顯示二維碼的話,

ie8會不相容,因為生成的base64字串大於30k,二維碼就會顯示不完整導致掃碼失效;

結論:後臺二維碼生成是最好的方法,不用考慮相容性問題;

不過如果對ie瀏覽器放鬆的話base64和js生成二維碼是最簡便的。大家自己選擇吧。