<font id="zqva1"></font>
<rt id="zqva1"></rt>
  • <tt id="zqva1"></tt>
    <cite id="zqva1"></cite>

    <cite id="zqva1"><noscript id="zqva1"></noscript></cite>
      <rp id="zqva1"><meter id="zqva1"></meter></rp>

        <cite id="zqva1"></cite>
          <b id="zqva1"></b>
          <rp id="zqva1"></rp>
          <cite id="zqva1"></cite>

          <rt id="zqva1"></rt>

        1. <rp id="zqva1"></rp>

          javascript圖片轉換base64,以及如何將base64的數據轉換成圖片

          時間:?2017-11-20閱讀:?4187標簽:?base64

          這篇文章主要講解通過原生js,將圖片地址轉換為base64格式后顯示的方法,以及base64的圖片數據如何轉換為file文件并提交。圖片通過base64的形式直接在html中顯示,它最主要的好處是可減少http請求,同時瀏覽器不會緩存該圖片。


          圖片轉換base64

          html:

          <img src="" id="demo" />

          js:

          function toBase64(url, callback, outputFormat){//圖片地址,回調,輸出格式
              var canvas = document.createElement('canvas'),
                  ctx = canvas.getContext('2d'),
              img = new Image;
              img.crossOrigin = 'Anonymous';
              img.onload = function(){
          	    canvas.height = img.height;
          	    canvas.width = img.width;
          	    ctx.drawImage(img,0,0);
          	    var dataURL = canvas.toDataURL(outputFormat || 'image/png');
          	    callback.call(this, dataURL);
          	    canvas = null; 
          	};
          	img.src = url;
          }
          toBase64('https://imgsa.baidu.com/exp/pic/item/09bb4f3d269759eeed4e116fb3fb43166d22df3d.jpg', function(base64Img){
            document.getElementById('demo').setAttribute('src',base64Img)
          });


          js將base64轉換為file并提交

           function sumitImageFile(base64Codes){  
              var form=document.forms[0];  
              var formData = new FormData(form);   //這里連帶form里的其他參數也一起提交了,如果不需要提交其他參數可以直接FormData無參數的構造函數  
              //convertBase64UrlToBlob函數是將base64編碼轉換為Blob  
              formData.append("imageName",convertBase64UrlToBlob(base64Codes));  //append函數的第一個參數是后臺獲取數據的參數名,和html標簽的input的name屬性功能相同  
              //ajax 提交form  
              $.ajax({  
                  url : form.action,  
                  type : "POST",  
                  data : formData,  
                  dataType:"text",  
                  processData : false,         // 告訴jQuery不要去處理發送的數據  
                  contentType : false,        // 告訴jQuery不要去設置Content-Type請求頭  
                  success:function(data){  
                      window.location.href="${ctx}"+data;  
                  },  
                  xhr:function(){ //在jquery函數中直接使用ajax的XMLHttpRequest對象  
                      var xhr = new XMLHttpRequest();  
                        
                      xhr.upload.addEventListener("progress", function(evt){  
                          if (evt.lengthComputable) {  
                              var percentComplete = Math.round(evt.loaded * 100 / evt.total);    
                              console.log("正在提交."+percentComplete.toString() + '%');        //在控制臺打印上傳進度  
                          }  
                      }, false);    
                      return xhr;  
                  }   
              });  
          }  
            
          //將以base64的圖片url數據轉換為Blob,用url方式表示的base64圖片數據  
          function convertBase64UrlToBlob(urlData){  
              var bytes=window.atob(urlData.split(',')[1]);        //去掉url的頭,并轉換為byte  
              //處理異常,將ascii碼小于0的轉換為大于0  
              var ab = new ArrayBuffer(bytes.length);  
              var ia = new Uint8Array(ab);  
              for (var i = 0; i < bytes.length; i++) {  
                  ia[i] = bytes.charCodeAt(i);  
              }  
              return new Blob( [ab] , {type : 'image/png'});  
          }



          站長推薦

          1.阿里云: 本站目前使用的是阿里云主機,安全/可靠/穩定。點擊領取2000元代金券、了解最新阿里云產品的各種優惠活動點擊進入

          2.騰訊云: 提供云服務器、云數據庫、云存儲、視頻與CDN、域名等服務。騰訊云各類產品的最新活動,優惠券領取點擊進入

          3.廣告聯盟: 整理了目前主流的廣告聯盟平臺,如果你有流量,可以作為參考選擇適合你的平臺點擊進入

          鏈接: http://www.modern-decoration.com.cn/article/detial/134

          base64編碼

          二進制的數據,每個字符的取值范圍都是 [0, 255] ,作為ascii碼解析時,只有部分可打印。比如,我用文本編輯器vim打開一張jpeg圖片,會發現內容是亂碼。

          Angular中實現文件轉BASE64

          這是一個so easy的問題,主要是記錄一下angular 的模板變量的使用和組件中匿名方法 ,箭頭方法使用的區別;如何將模板中的 DOM對象作為參數傳入方法?

          php端實現 DES+BASE64 解密

          什么是Base64 格式字符串?Base64是一種基于64個可打印字符來表示二進制數據的表示方法。通常是52個大小字母和10個數字,以及+,/兩個字符,還有個=用于補缺。

          原生js實現base64編碼方法

          base64是一種圖片編碼方式,用一長串超長的字符串表示圖片,在加載的時候會直接以字符串的形式加載出來,減少了圖片加載的http請求,正常加載服務器靜態資源的時候都應該是通過http請求回來,每加載一張圖片時需要發起一次http請求

          使用base64編碼在頁面嵌入圖片

          因為頁面中插入一個圖片都要寫明圖片的路徑——相對路徑或者絕對路徑。而除了具體的網站圖片的圖片地址,如果是在自己電腦文件夾里的圖片,當我們的HTML文件在別人電腦上打開的時候圖片則由于地址不對或者沒有將圖片

          圖片上傳轉base64

          做的過程中本來想用taro-ui里的那個圖片上傳,但是樣式想自定義沒搞定,結果后來就用Taro.chooseImage了。h5模式返回的是一個blob對象,然后自己轉成base64了。微信小程序自己有方法。原來想用multipart的方式

          base64原理淺析

          為什么圖片轉成Base64編碼,就可以直接內聯到HTML中顯示呢?為什么Base64編碼后,體積會增大1/3呢?如果你對此也有疑問的話,就往下一看究竟吧。

          Base64 編碼與解碼詳解

          Base64 是基于 64 個可打印字符 A-Z、a-z、0-9、+、/ 來表示二進制數據的表示方法,常用于數據在網絡中的傳輸。本篇將分別介紹其編碼、解碼以及實際運用。

          js base64的實現

          base64是用規定的64種字符來表示任意二進制數據的一種編碼格式,base64編碼不提供加密,只是將一種形式的數據轉化為另一種形式。Base64編碼使用二進制表示,字符串的每一個字符由8個字節表示

          利用PHP將圖片轉換成base64編碼的實現方法

          base64是當前網絡上最為常見的傳輸8Bit字節代碼的編碼方式其中之一。base64主要不是加密,它主要的用途是把某些二進制數轉成普通字符用于網絡傳輸。由于這些二進制字符在傳輸協議中屬于控制字符,不能直接傳送,所以需要轉換一下

          fly63.com版權所有,內容以共享、參考、研究為目的,不存在任何商業目的。其版權屬原作者所有,如有侵權,請與小編聯系!情況屬實本人將予以刪除!

          文章投稿關于web前端網站點搜索站長推薦網站地圖站長QQ:522607023

          小程序專欄: 土味情話心理測試腦筋急轉彎幽默笑話段子句子語錄成語大全運營推廣

          国产精品高清视频免费 - 视频 - 在线观看 - 影视资讯 - 唯爱网