久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > img轉(zhuǎn)base64的多方面詳解

img轉(zhuǎn)base64的多方面詳解

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-24 15:50:08 1700812208

三、如何使用JavaScript實現(xiàn)img轉(zhuǎn)base64

1、使用XMLHttpRequest對象獲取圖片文件并將其轉(zhuǎn)換成base64編碼。


    function imgToBase64(url, callback){
         var xhr = new XMLHttpRequest();
         xhr.onload = function() {
             var reader = new FileReader();
             reader.onloadend = function() {
                 callback(reader.result);
             }
             reader.readAsDataURL(xhr.response);
         };
         xhr.open('GET', url);
         xhr.responseType = 'blob';
         xhr.send();
     }
     imgToBase64('img/test.png', function(dataURL){
         console.log(dataURL);
     });

2、使用canvas元素將圖片繪制并將其轉(zhuǎn)換成base64編碼。


    function imgToBase64(url, callback){
         var canvas = document.createElement('canvas');
         var ctx = canvas.getContext('2d');
         var img = new Image();
         img.crossOrigin = 'anonymous';
         img.onload = function() {
             canvas.width = this.width;
             canvas.height = this.height;
             ctx.drawImage(this, 0, 0);
             callback(canvas.toDataURL());
         };
         img.src = url;
     }
     imgToBase64('img/test.png', function(dataURL){
         console.log(dataURL);
     });

四、img轉(zhuǎn)base64的優(yōu)缺點

優(yōu)點:

1、減少HTTP請求,提升頁面加載速度。

2、能夠?qū)D片直接存儲在HTML、CSS或JavaScript文件中,便于代碼維護(hù)。

3、能夠在不支持圖片格式的瀏覽器中正常顯示圖片。

缺點:

1、base64編碼會將原始圖片的大小增加1/3,導(dǎo)致數(shù)據(jù)傳輸量增加。

2、base64編碼的圖片一旦被修改,就需要重新上傳整個文件。

3、base64編碼的圖片對于較大的圖片不利于緩存和頁面性能。

五、結(jié)語

img轉(zhuǎn)base64是一種優(yōu)化前端工作的方法,適用于一些小尺寸的圖片,能夠提升頁面的加載速度和用戶體驗。但是對于一些較大的圖片,仍然應(yīng)該使用標(biāo)簽并優(yōu)化圖片本身,以減少HTTP請求。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
弥勒县| 磐安县| 青海省| 徐闻县| 泊头市| 凤山县| 张家川| 建宁县| 中卫市| 巩义市| 永泰县| 榆中县| 扶沟县| 孟州市| 重庆市| 贵南县| 安新县| 云阳县| 肃宁县| 玛沁县| 迁安市| 通化县| 盐山县| 巴彦淖尔市| 堆龙德庆县| 融水| 诏安县| 德州市| 登封市| 来凤县| 敦化市| 开鲁县| 合水县| 苏尼特左旗| 巫溪县| 绵竹市| 江阴市| 小金县| 新化县| 双鸭山市| 贺州市|