File size: 883 Bytes
8a1f4e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
export function convertBlobToBase64(blob: Blob): Promise<string> {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();

        reader.addEventListener('load', function () {
            const { result } = reader;
            if (typeof result === 'string') {
                resolve(result);
            }

        }, false);

        reader.addEventListener('error', function () {
            reject('Error converting to base64');
        }, false);

        reader.readAsDataURL(blob);
    });
}

export function getBase64SizeInMB(base64String: string): number {
    const base64Data = base64String.split(',')[1] || base64String;
    const length = base64Data.length;
    const padding = (base64Data.match(/=/g) || []).length;
    const sizeInBytes = (length * 3) / 4 - padding;
    const sizeInMB = sizeInBytes / 1048576;

    return sizeInMB;
}