Base64转二进制流以及blob文件

Base64转二进制流以及blob文件

1.Base64转文件格式大小(带有前缀的截取,比如data:application/pdf;base64,JVE。。。)

 function  base64toBlob(dataurl, filename) { 将base64转换为文件
        var arr = dataurl.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], filename, { type: mime });
   }

2.Base64转blob格式大小(不用处理前缀,比如,JVE。。。)

function  base64toBlob(base64) {
        // 将base64转为Unicode规则编码
         let  bstr = atob(base64),
         n = bstr.length,
         u8arr = new Uint8Array(n);
         while (n--) {
           u8arr[n] = bstr.charCodeAt(n) // 转换编码后才可以使用charCodeAt 找到Unicode编码
         }
        return new Blob([u8arr], {
         type,
        })
 }

3.Base64转原生流,不需要任何处理(不用处理前缀,比如,JVE。。)

  function  base64toBlob(base64) {
        // 将base64转为Unicode规则编码
        let  bstr = atob(base64);
        return bstr
 }

你可能感兴趣的:(base64转流方法,javascript)