<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          base64、File、Blob、ArrayBuffer互轉(zhuǎn)【收藏備用】

          共 2435字,需瀏覽 5分鐘

           ·

          2021-03-05 12:03


          關(guān)注公眾號 前端人,回復(fù)“加群

          添加無廣告優(yōu)質(zhì)學(xué)習(xí)群

          1. file對象轉(zhuǎn)base64

           let reader = new FileReader();
           reader.readAsDataURL(file[0])
           console.log(reader)

          2. base64 轉(zhuǎn)成blob 上傳

          function dataURItoBlob(dataURI{  
              var byteString = atob(dataURI.split(',')[1]);  
              var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];  
              var ab = new ArrayBuffer(byteString.length);  
              var ia = new Uint8Array(ab);  
              for (var i = 0; i < byteString.length; i++) {  
                  ia[i] = byteString.charCodeAt(i);  
              }  
              return new Blob([ab], {type: mimeString});  
          }

          3. blob 轉(zhuǎn)成ArrayBuffer

          let blob = new Blob([1,2,3,4])
          let reader = new FileReader();
          reader.onload = function(result{
              console.log(result);
          }
          reader.readAsArrayBuffer(blob);

          4. buffer 轉(zhuǎn)成blob

          let blob = new Blob([buffer])

          5. base64 轉(zhuǎn) file

          const base64ConvertFile = function (urlData, filename// 64轉(zhuǎn)file
            if (typeof urlData != 'string') {
              this.$toast("urlData不是字符串")
              return;
            }
            var arr = urlData.split(',')
            var type = arr[0].match(/:(.*?);/)[1]
            var fileExt = type.split('/')[1]
            var bstr = atob(arr[1])
            var n = bstr.length
            var u8arr = new Uint8Array(n)
            while (n--) {
              u8arr[n] = bstr.charCodeAt(n);
            }
            return new File([u8arr], 'filename.' + fileExt, {
              type: type
            });
          }

          原文:segmentfault.com/a/1190000039310309


          • 回復(fù)資料包領(lǐng)取我整理的進階資料包
          • 回復(fù)加群,加入前端進階群
          • console.log("點贊===看===你我都快樂")
          • Bug離我更遠了,下班離我更近了
          瀏覽 40
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  三年秘 无码一区二区三区 | 欧美成人在线导航 | 操大黑逼视频 | 日韩AV高清 | 一级片免费不卡 |