在前端開發(fā)中,我們通常會遇到需要將圖片或者文本轉(zhuǎn)換成base64格式的需求。而jquery提供了一種快速方便的方式進行轉(zhuǎn)換。
下面是將圖片轉(zhuǎn)換成base64的jquery代碼:
$(function(){ var fileInput = document.getElementById('inputFile'); var img = document.getElementById('image'); fileInput.addEventListener('change', readFile); function readFile(){ var reader = new FileReader(); reader.readAsDataURL(fileInput.files[0]); reader.onload = function(){ img.src = reader.result; var base64 = reader.result.split(',')[1]; console.log(base64); } } });
這段代碼首先獲取了input標簽和img標簽的DOM元素,然后監(jiān)聽了input標簽的change事件。當(dāng)用戶選擇了圖片之后,會調(diào)用readFile函數(shù)進行文件讀取。
readFile函數(shù)中,我們使用FileReader對象讀取文件,并將結(jié)果存入img標簽的src屬性中。這一步雖然并不是必要的,但是可以幫助我們預(yù)覽圖片。同時,在讀取完成后,我們通過split方法將結(jié)果字符串分割成兩部分,取第二部分即可得到base64字符串。
對于文本轉(zhuǎn)換成base64,jquery同樣提供了簡便的方式:
$(function(){ var textInput = document.getElementById('inputText'); var result = document.getElementById('result'); textInput.addEventListener('input', encode); function encode(){ var str = textInput.value; var base64 = btoa(str); result.innerHTML = base64; } });
這段代碼首先獲取了input標簽和result標簽的DOM元素,然后監(jiān)聽了input標簽的input事件。當(dāng)用戶輸入文本之后,會調(diào)用encode函數(shù)進行轉(zhuǎn)換。
在encode函數(shù)中,我們使用btoa方法將文本字符串轉(zhuǎn)換成base64字符串,并將結(jié)果存入result標簽的innerHTML中。這里我們使用innerHTML是因為我們想要直接顯示base64字符串結(jié)果。
總的來說,jquery提供的轉(zhuǎn)換方式簡單便捷,對于前端開發(fā)中經(jīng)常遇到的base64轉(zhuǎn)換需求來說十分實用。