vue實(shí)現(xiàn)將圖像文件轉(zhuǎn)換為base64
更新時(shí)間:2022年02月09日 10:24:37 作者:太陽曬屁股了
這篇文章主要介紹了vue實(shí)現(xiàn)將圖像文件轉(zhuǎn)換為base64,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
將圖像文件轉(zhuǎn)換為base64
直入主題,上代碼(其實(shí)用的還是FileReader)
1、image轉(zhuǎn)Base64
imageToBase64 (file) { ? ? ? var reader = new FileReader() ? ? ? reader.readAsDataURL(file) ? ? ? reader.onload = () => { ? ? ? ? console.log('file 轉(zhuǎn) base64結(jié)果:' + reader.result) ? ? ? ? this.iconBase64 = reader.result ? ? ? } ? ? ? reader.onerror = function (error) { ? ? ? ? console.log('Error: ', error) ? ? ? } }
2、Base64圖像直接顯示在標(biāo)簽
<el-form-item prop="iconBase64"> ? ?<img :src="iconBase64" v-show="isShow" /> </el-form-item>
vue網(wǎng)絡(luò)圖片轉(zhuǎn)base64
單張圖片轉(zhuǎn)Base64
<script> methods: { //異步執(zhí)行 imageUrlToBase64() { //一定要設(shè)置為let,不然圖片不顯示 let image = new Image(); //解決跨域問題 image.setAttribute('crossOrigin', 'anonymous'); let imageUrl = "http://img1.imgtn.bdimg.com/it/u=4012470373,3540768040&fm=26&gp=0.jpg"; image.src = imageUrl let that = this; //image.onload為異步加載 image.onload = () => { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; var context = canvas.getContext('2d'); context.drawImage(image, 0, 0, image.width, image.height); var quality = 0.8; //這里的dataurl就是base64類型 var dataURL = canvas.toDataURL("image/jpeg", quality);//使用toDataUrl將圖片轉(zhuǎn)換成jpeg的格式,不要把圖片壓縮成png,因?yàn)閴嚎s成png后base64的字符串可能比不轉(zhuǎn)換前的長(zhǎng)! } }, } </script>
多張圖片轉(zhuǎn)Base64
<script> data() { return { base64Datas: [], } methods: { imageUrlToBase64(){ let data = [ "http://bigf.cqugeo.cn/landslip/res/defaultImages/default.png", "http://bigf.cqugeo.cn/landslip/res/defaultImages/default.png", "http://bigf.cqugeo.cn/landslip/res/defaultImages/default.png" ] this.imageUrlToBase64(data, 1, data.length); }, //采用遞歸同步執(zhí)行 onloadImg(data, i, len) { //一定要設(shè)置為let,不然圖片不顯示 let image = new Image(); //解決跨域問題 image.setAttribute('crossOrigin', 'anonymous'); let imageUrl = "http://bigf.cqugeo.cn/landslip/res/defaultImages/default.png"; image.src = imageUrl let that = this; //image.onload為異步加載 image.onload = () => { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; var context = canvas.getContext('2d'); context.drawImage(image, 0, 0, image.width, image.height); var quality = 0.8; //這里的dataurl就是base64類型 var dataURL = canvas.toDataURL("image/jpeg", quality);//使用toDataUrl將圖片轉(zhuǎn)換成jpeg的格式,不要把圖片壓縮成png,因?yàn)閴嚎s成png后base64的字符串可能比不轉(zhuǎn)換前的長(zhǎng)! //數(shù)組存放圖片base64 that.base64Datas.push(dataURL); //遞歸執(zhí)行圖片url轉(zhuǎn)base64 i = i + 1; if (i <= len) { that.onloadImg(data1, i, len) } } }, } </script>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue+element 解決瀏覽器自動(dòng)填充記住的賬號(hào)密碼問題
我們?cè)谧鰂orm表單的時(shí)候,會(huì)發(fā)現(xiàn),瀏覽器會(huì)自動(dòng)的將我們之前保存的密碼,自動(dòng)的填充到表單中input 為 type="password" 的框中,如何實(shí)現(xiàn)此功能呢,下面小編給大家介紹下,感興趣的朋友一起看看吧2019-06-06Vue組件大全包括(UI組件,開發(fā)框架,服務(wù)端,輔助工具,應(yīng)用實(shí)例,Demo示例)
本文為大家分享了網(wǎng)上比較流行的Vue組件,包括UI組件,開發(fā)框架,服務(wù)端,輔助工具,應(yīng)用實(shí)例,Demo示例等開源項(xiàng)目,總有一款適合你2018-10-10使用Elemen加上lang=“ts“后編譯報(bào)錯(cuò)
本文主要介紹了使用Elemen加上lang=“ts“后編譯報(bào)錯(cuò),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Vue中keyup.enter和blur事件沖突的問題及解決
這篇文章主要介紹了Vue中keyup.enter和blur事件沖突的問題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決
這篇文章主要介紹了vue 保留兩位小數(shù) 不能直接用toFixed(2) 的解決操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08