base64转二进制流、file流转base64、二进制流转base64

// base64转二进制流
    base64ToBlob(url: any) {
        let arr = url.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 Blob([u8arr], {
            type: mime
        });
    }

    // file流转base64
    getFileBase64 = (file: File): Promise<string | ArrayBuffer | null> =>
    new Promise((resolve, reject) => {
      const reader = new FileReader();
      reader.readAsDataURL(file);
      reader.onload = () => resolve(reader.result);
      reader.onerror = error => reject(error);
    });
   
    // 二进制流转base64
    // getBase64 = (data: any): Promise<string | ArrayBuffer | null> =>
    // new Promise((resolve, reject) => {
    //     const blob = new Blob([data], {type: 'image/jpg'});
    //   const reader = new FileReader();
    //   reader.readAsDataURL(blob);
    //   reader.onload = () => resolve(reader.result);
    //   reader.onerror = error => reject(error);
    // });
    getBase64(data: any, type: string) {
        return new Promise((resolve, reject) => {
            const blob = new Blob([data], {type: type});
          const reader = new FileReader();
          reader.readAsDataURL(blob);
          reader.onload = () => resolve(reader.result);
          reader.onerror = error => reject(error);
        });
    }
posted @ 2022-07-06 09:09  小小菜鸟04  阅读(857)  评论(0)    收藏  举报