• 对于文件的blob、base64、File的转化


    64->File

       function toFile(ndata) {
          // ndata为base64格式地址
          let arr = ndata.split(','),
            mime = arr[0].match(/:(.*?);/)[1],
    
            bstr = atob(arr[1]),
            n = bstr.length,
            u8arr = new Uint8Array(n);
          while (n--) {
            u8arr[n] = bstr.charCodeAt(n);
          }
          return new File([u8arr], this.fileName, {type:mime})
        }

    blob->64

       //**blob to dataURL**
    function blobToDataURL(blob, callback) {
        var a = new FileReader();
        a.onload = function (e) { 
            callback(e.target.result); 
        }
        a.readAsDataURL(blob);
    }

    原生请求blob

    var ajax = new XMLHttpRequest();
        ajax.onreadystatechange = function(){
            if(ajax.readyState==4 && ajax.status==200){
                
                console.log(ajax.response)//blob; 
                blobToDataURL(ajax.response,(e)=>{
               console.log(e)//base64
              console.log(toFile(e))//Fille
    
                })
            }
        }
      
        ajax.open("GET",url,true);
        ajax.responseType = "blob"//设置返回值为blob类型
       
        ajax.send();
  • 相关阅读:
    2019 Multi-University Training Contest 10
    自考新教材-p326_3(1)
    自考新教材-p322
    自考新教材-p321
    自考新教材-p316
    自考新教材-p315
    自考新教材-p313
    自考新教材-p311
    自考新教材-p310
    自考新教材-p309
  • 原文地址:https://www.cnblogs.com/zzkxjh/p/12825858.html
Copyright © 2020-2023  润新知