使用base64對(duì)圖片的二進(jìn)制進(jìn)行編碼并用ajax進(jìn)行顯示
使用base64對(duì)圖片的二進(jìn)制進(jìn)行編碼并用ajax進(jìn)行顯示
有時(shí)候我們需要?jiǎng)討B(tài)的將圖片的二進(jìn)制在頁(yè)面上進(jìn)行顯示,如我們需要弄一個(gè)驗(yàn)證碼的功能,那么如果我們的驗(yàn)證碼的圖片在后臺(tái)得到的是該圖片的二進(jìn)制,那么當(dāng)我們需要在頁(yè)面上點(diǎn)擊一個(gè)按鈕利用ajax進(jìn)行切換的時(shí)候,如果在后臺(tái)直接返回的是該圖片的二進(jìn)制,那么該圖片是無法進(jìn)行顯示的。
直接返回字節(jié)流給img標(biāo)簽的src是可以的,如<img src="servlet/CheckCode">,但在之后進(jìn)行切換的時(shí)候使用ajax請(qǐng)求,如果僅僅返回圖片的二進(jìn)制然后把它傳給img的src是不能的,目前的方法是把圖片的二進(jìn)制進(jìn)行base64編碼,
然后在頁(yè)面上以下列方式進(jìn)行顯示,<img src="data:image/jpeg;base64,result">,其中的result是經(jīng)過base64編碼后的內(nèi)容,這樣就可以使用后臺(tái)直接利用圖片的二進(jìn)制進(jìn)行圖片的顯示了
實(shí)例代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>code.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(function() { init(); $("[type='button']").click(function() { $.post("servlet/CheckCode",{},function(data) { //注意這里src的寫法,data是經(jīng)過base64編碼后的內(nèi)容 $("img").attr("src","data:image/jpeg;base64,"+data); }); }); }); function init() { $.post("servlet/CheckCode",{},function(data) { //其實(shí)在第一次運(yùn)行的時(shí)候是可以直接將圖片的二進(jìn)制作為Image的src進(jìn)行顯示的,但是因?yàn)楹笈_(tái)統(tǒng)一返回的是 //經(jīng)過base64編碼過后的內(nèi)容,所以這里初始顯示的時(shí)候也是利用base64的方法 $("img").attr("src","data:image/jpeg;base64,"+data); }); } </script> </head> <body> <img alt="" width=100 > <input type="button" value="換一張"/> </body> </html>
- Ajax上傳實(shí)現(xiàn)根據(jù)服務(wù)器端返回?cái)?shù)據(jù)進(jìn)行js處理的方法
- JavaScript將base64圖片轉(zhuǎn)換成formData并通過AJAX提交的實(shí)現(xiàn)方法
- 借助FileReader實(shí)現(xiàn)將文件編碼為Base64后通過AJAX上傳
- Jquery ajaxsubmit上傳圖片實(shí)現(xiàn)代碼
- php+ajax實(shí)現(xiàn)圖片文件上傳功能實(shí)例
- jquery的ajaxSubmit()異步上傳圖片并保存表單數(shù)據(jù)演示代碼
- 自己動(dòng)手打造ajax圖片上傳(網(wǎng)上沒有的)
- php ajax無刷新上傳圖片實(shí)例代碼
- PHP+jQuery+Ajax實(shí)現(xiàn)多圖片上傳效果
- H5移動(dòng)開發(fā)Ajax上傳多張Base64格式圖片到服務(wù)器
相關(guān)文章
JS事件循環(huán)-微任務(wù)-宏任務(wù)(原理講解+面試題分析)
這篇文章主要介紹了JS事件循環(huán)-微任務(wù)-宏任務(wù)的原理,本文章含有面試題分析,不管是面試者還是想要學(xué)習(xí)相關(guān)內(nèi)容的都可以很好的理解、掌握這部分內(nèi)容,需要的朋友可以參考下2023-01-01HTA版JSMin(省略修飾語(yǔ)若干)基于javascript語(yǔ)言編寫
JSMin是一種很有用的ECMAScript代碼減肥工具,雖然它只是一種較為初級(jí)的工具,但用它來對(duì)付我自己編寫的大部分ECMAScript代碼效果都很不錯(cuò),而且在我這里也從未發(fā)生過減肥后代碼出錯(cuò)之類的問題。2009-12-12JavaScript this調(diào)用規(guī)則說明
我希望通過這些來使你們理解各種函數(shù)調(diào)用方式的不同,讓你的JavaScript代碼遠(yuǎn)離bugs。2010-03-03js addDqmForPP給標(biāo)簽內(nèi)屬性值加上雙引號(hào)的函數(shù)
這篇文章主要介紹了js addDqmForPP給標(biāo)簽內(nèi)屬性值加上雙引號(hào)的函數(shù),需要的朋友可以參考下2016-12-12