最簡單方式:使用base64字串顯示圖片或二維碼
阿新 • • 發佈:2018-12-15
今天給大家分享一個簡單的顯示圖片或者二維碼方式,就是使用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生成二維碼是最簡便的。大家自己選擇吧。