久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

html5將圖片轉(zhuǎn)換成base64的實(shí)例代碼

這篇文章給大家介紹了如何利用html5將圖片轉(zhuǎn)換成base64,文中通過(guò)示例代碼介紹的很詳細(xì),有需要的朋友們可以參考借鑒。

base64編碼介紹
base64是一種網(wǎng)絡(luò)上常用的8bit字節(jié)代碼的編碼方式,base64可以用于http環(huán)境下傳遞較長(zhǎng)的標(biāo)識(shí)信息,同時(shí)可以放在url當(dāng)中使用,因?yàn)閎ase64不懼可讀性,所以具有一定的加密功能。

為什么要把圖片轉(zhuǎn)換成base64編碼?
將圖片轉(zhuǎn)換成base64代碼可以減少http請(qǐng)求,因?yàn)閳D片可以以字符編碼的形式直接傳遞到客戶端,而文件形式都需要進(jìn)行http請(qǐng)求。但是也會(huì)有一個(gè)小缺點(diǎn),就是圖片編碼化base64的時(shí)候大小會(huì)變大,但是通過(guò)gzip優(yōu)化以后基本差不多。所以在應(yīng)用的過(guò)程當(dāng)中較小的圖片可以直接編碼成base64,較大的圖片則不建議如此使用。

html5如何將圖片轉(zhuǎn)換成base64?
html5如果要將圖片轉(zhuǎn)換成base64需要使用到一個(gè)html5的接口FileReader.readAsDataURL()接口說(shuō)明,這個(gè)接口可以將文件轉(zhuǎn)換成base64編碼格式,并且再以data:URL的形式展現(xiàn)出來(lái)。

示例程序
下面的代碼是示例程序,創(chuàng)建一個(gè)新html文件,然后將代碼復(fù)制粘貼使用支持html5的瀏覽器打開即可查看效果。

復(fù)制代碼
代碼如下:

<!Doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>html5 image to base64</title>
</head>
<body>
<script type="text/javascript">
window.onload = function(){
// 抓取上傳圖片,轉(zhuǎn)換代碼結(jié)果,顯示圖片的dom
var img_upload=document.getElementById("img_upload");
var base64_code=document.getElementById("base64_code");
var img_area=document.getElementById("img_area");
// 添加功能出發(fā)監(jiān)聽事件
img_upload.addEventListener('change',readFile,false);}
function readFile(){
var file=this.files[0];
if(!/image\/\w+/.test(file.type)){
alert("請(qǐng)確保文件為圖像類型");
return false;
}
var reader=new FileReader();
reader.readAsDataURL(file);
reader.onload=function(){
base64_code.innerHTML = this.result;
img_area.innerHTML = '<div>圖片img標(biāo)簽展示:</div><img src="'+this.result+'" alt=""/>';
}
}
</script>
<input type="file" id="img_upload"/>
<textarea id="base64_code" rows="30" cols="360"></textarea>
<p id="img_area"></p>
</body>
</html>

html5圖片轉(zhuǎn)換base64代碼

程序的設(shè)計(jì)思路
1.創(chuàng)建三個(gè)html標(biāo)簽,input用來(lái)上傳圖片,textarea用來(lái)顯示base64代碼,因?yàn)閎ase64代碼內(nèi)容很多所以使用textarea標(biāo)簽,p標(biāo)簽用來(lái)顯示圖片。
2.使用js調(diào)用html5的FileReader.readAsDataURL()的API,聲明三個(gè)變量用于控制圖片上傳,base64代碼顯示以及圖片的顯示。
3.img_upload.addEventListener('change',readFile,false);添加一個(gè)監(jiān)聽事件,如果上傳文件發(fā)生變化就執(zhí)行readFile函數(shù)。
4.readFile函數(shù)的內(nèi)容就是調(diào)用接口,將圖片轉(zhuǎn)換成base64再輸出。
5.在執(zhí)行轉(zhuǎn)換和輸出之前先判斷一下上傳文件是不是圖片。

代碼解析及注意
1.var file=this.files[0];這里是抓取到上傳的對(duì)象。
2.this.result這個(gè)result是FileReader.readAsDataURL()接口當(dāng)中轉(zhuǎn)換完圖片輸出的base64結(jié)果存放在result當(dāng)中。在代碼當(dāng)中添加console.log(reader);查看一下FileReader對(duì)象就可以看到。(reader是我自己起的對(duì)象的名稱)


我使用html5將圖片轉(zhuǎn)換成base64代碼的目的主要是想將圖片寫入到瀏覽器本地的數(shù)據(jù)當(dāng)中來(lái)使用,上傳的時(shí)候,再嘗試恢復(fù)出來(lái)上傳圖片。目的是為了減少本地瀏覽器應(yīng)用和服務(wù)器的數(shù)據(jù)通信。

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望能對(duì)大家的學(xué)習(xí)或者工作帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。

【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。

相關(guān)文檔推薦

這篇文章主要介紹了有關(guān)HTML5頁(yè)面在iPhoneX適配問(wèn)題,需要的朋友可以參考下
本篇文章主要介紹了html5中canvas圖表實(shí)現(xiàn)柱狀圖的示例,本文使用canvas來(lái)實(shí)現(xiàn)一個(gè)圖表,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
Adobe公司出品的多媒體處理軟件產(chǎn)品線較多,涵蓋了音視頻編輯、圖像處理、平面設(shè)計(jì)、影視后期等領(lǐng)域。這篇文章主要介紹了Adobe Html5 Extension開發(fā)初體驗(yàn)圖文教程,非常不錯(cuò),需要的朋
這篇文章主要介紹了基于HTML5的WebGL經(jīng)典3D虛擬機(jī)房漫游動(dòng)畫,需要的朋友可以參考下
這篇文章主要介紹了html5實(shí)現(xiàn)移動(dòng)端適配完美寫法,需要的朋友可以參考下
本篇文章主要介紹了HTML5響應(yīng)式(自適應(yīng))網(wǎng)頁(yè)設(shè)計(jì)的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
主站蜘蛛池模板: 麻豆中文字幕 | 中文字幕综合网 | 精品在线看 | 亚洲免费一区二区 | 亚洲在线一区二区 | 久久国产精品免费 | 在线看亚洲 | 亚洲视频一区二区三区四区 | 亚洲影院一区 | 亚洲在线视频观看 | 国产精品一区二区久久 | 国产资源在线播放 | 欧美资源在线 | 亚洲自拍偷拍一区 | 一区二区影院 | 美日韩在线 | 日本国产一区 | 国产二区三区 | 亚洲久久在线 | 17c在线 | 中文字幕在线免费视频 | 神马香蕉久久 | www.日日夜夜 | 久久机热这里只有精品 | 日韩一区二区在线视频 | 黄色在线播放 | 二区三区视频 | 午夜a级片| 伊人亚洲综合 | 一区二区小视频 | 久久精品视频免费看 | 五月婷婷网 | 日本一级大毛片a一 | 在线国产小视频 | 欧美一级淫片免费视频黄 | 伊人久久在线 | 五月天激情影院 | 精品一区二区三区中文字幕 | 少妇高潮毛片 | 国产亚洲一区二区三区 | 特黄aaaaaaaaa真人毛片 |