<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        js 圖片轉base64的方式(兩種)

        來源:懂視網 責編:小采 時間:2020-11-27 22:15:54
        文檔

        js 圖片轉base64的方式(兩種)

        js 圖片轉base64的方式(兩種):方式一:Blob和FileReader 對象 實現原理: 使用xhr請求圖片,并設置返回的文件類型為Blob對象[xhr.responseType = blob] 使用FileReader 對象接收blob <!DOCTYPE html> <html lang=en> <h
        推薦度:
        導讀js 圖片轉base64的方式(兩種):方式一:Blob和FileReader 對象 實現原理: 使用xhr請求圖片,并設置返回的文件類型為Blob對象[xhr.responseType = blob] 使用FileReader 對象接收blob <!DOCTYPE html> <html lang=en> <h

        方式一:Blob和FileReader 對象

        實現原理:

        使用xhr請求圖片,并設置返回的文件類型為Blob對象[xhr.responseType = "blob"]

        使用FileReader 對象接收blob

        <!DOCTYPE html>
        <html lang="en">
        <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <meta http-equiv="X-UA-Compatible" content="ie=edge">
         <title>js 圖片轉base64方式</title>
        </head>
        <body>
         <p id="container1"></p>
         <script>
         getBase64("https://z649319834.github.io/Learn_Example/video_track/webvtt.jpg")
         function getBase64(imgUrl) {
         window.URL = window.URL || window.webkitURL;
         var xhr = new XMLHttpRequest();
         xhr.open("get", imgUrl, true);
         // 至關重要
         xhr.responseType = "blob";
         xhr.onload = function () {
         if (this.status == 200) {
         //得到一個blob對象
         var blob = this.response;
         console.log("blob", blob)
         // 至關重要
         let oFileReader = new FileReader();
         oFileReader.onloadend = function (e) {
         let base64 = e.target.result;
         console.log("方式一》》》》》》》》》", base64)
         };
         oFileReader.readAsDataURL(blob);
         //====為了在頁面顯示圖片,可以刪除====
         var img = document.createElement("img");
         img.onload = function (e) {
         window.URL.revokeObjectURL(img.src); // 清除釋放
         };
         let src = window.URL.createObjectURL(blob);
         img.src = src
         document.getElementById("container1").appendChild(img);
         //====為了在頁面顯示圖片,可以刪除====
        
         }
         }
         xhr.send();
         }
         </script>
        </body>
        </html>
        

        方式二:canvas.toDataURL()方法

        實現原理:

        使用canvas.toDataURL()方法

        需要解決圖片跨域問題 image.crossOrigin = '';

        使用了Jquery庫的$.Deferred()方法

        <!DOCTYPE html>
        <html lang="en">
        <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <meta http-equiv="X-UA-Compatible" content="ie=edge">
         <title>js 圖片轉base64方式</title>
        </head>
        <body>
        <p id="container2"></p>
         <script src="https://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
         <script>
         let imgSrc = "https://z649319834.github.io/Learn_Example/video_track/webvtt.jpg";
        
         //width、height調用時傳入具體像素值,控制大小 ,不傳則默認圖像大小
         function getBase64Image(img, width, height) {
         var canvas = document.createElement("canvas");
         canvas.width = width ? width : img.width;
         canvas.height = height ? height : img.height;
         var ctx = canvas.getContext("2d");
         ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
         var dataURL = canvas.toDataURL();
         return dataURL;
         }
         function getCanvasBase64(img) {
         var image = new Image();
         //至關重要
         image.crossOrigin = '';
         image.src = img;
         //至關重要
         var deferred = $.Deferred();
         if (img) {
         image.onload = function () {
         deferred.resolve(getBase64Image(image));//將base64傳給done上傳處理
         document.getElementById("container2").appendChild(image);
         }
         return deferred.promise();//問題要讓onload完成后再return sessionStorage['imgTest']
         }
         }
         getCanvasBase64(imgSrc)
         .then(function (base64) {
         console.log("方式二》》》》》》》》》",base64);
         }, function (err) {
         console.log(err);
         });
         </script>
        </body>
        </html>

        demo展示

        圖片Base64

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        js 圖片轉base64的方式(兩種)

        js 圖片轉base64的方式(兩種):方式一:Blob和FileReader 對象 實現原理: 使用xhr請求圖片,并設置返回的文件類型為Blob對象[xhr.responseType = blob] 使用FileReader 對象接收blob <!DOCTYPE html> <html lang=en> <h
        推薦度:
        標簽: 圖片 方法 js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 又大又硬又爽又粗又快的视频免费| 久久免费香蕉视频| 69av免费观看| 亚洲AV本道一区二区三区四区| 成人毛片100免费观看| 伊人久久五月丁香综合中文亚洲| 美丽姑娘免费观看在线观看中文版| 在线精品免费视频| 亚洲精品亚洲人成在线| 日韩免费视频播放| 人人爽人人爽人人片av免费 | 免费电影在线观看网站| 亚洲综合一区国产精品| 免费观看一级毛片| 免费观看亚洲人成网站| 亚洲日韩中文无码久久| 99热在线观看免费| 亚洲av无码国产综合专区| 免费高清在线爱做视频| free哆拍拍免费永久视频| 亚洲AV永久无码区成人网站| 免费看又黄又无码的网站 | 美女被吸屁股免费网站| 久久亚洲AV无码西西人体| 欧洲人免费视频网站在线| 亚洲AV一二三区成人影片| 四虎影视精品永久免费| 水蜜桃视频在线观看免费播放高清 | 青娱分类视频精品免费2| 亚洲精品av无码喷奶水糖心| 亚洲精品视频久久久| 97在线视频免费公开观看| 亚洲一线产区二线产区区| 久久综合亚洲色HEZYO国产| 最近免费视频中文字幕大全| 亚洲va中文字幕| 国产亚洲一区二区三区在线观看| 亚洲w码欧洲s码免费| 水蜜桃视频在线观看免费| 亚洲AV成人片色在线观看 | 中文字幕永久免费视频|