Извлечение типа MIME из строки Base64 в TypeScript

Чтобы получить тип MIME из строки base64 в TypeScript, вы можете использовать несколько методов. Вот несколько подходов:

  1. Использование функции atob:

    function getMimeTypeFromBase64(base64String: string): string | null {
     const dataUrl = `data:application/octet-stream;base64,${base64String}`;
     const byteString = atob(base64String);
     const mimeType = dataUrl.match(/data:([a-zA-Z]+\/[a-zA-Z]+).*,.*/)?.[1] || null;
     return mimeType;
    }
  2. Использование API fetch:

    async function getMimeTypeFromBase64(base64String: string): Promise<string | null> {
     const response = await fetch(`data:application/octet-stream;base64,${base64String}`);
     const contentType = response.headers.get('content-type');
     return contentType || null;
    }
  3. Использование регулярного выражения:

    function getMimeTypeFromBase64(base64String: string): string | null {
     const mimeTypeMatch = base64String.match(/^data:(.*);base64,/);
     const mimeType = mimeTypeMatch ? mimeTypeMatch[1] : null;
     return mimeType;
    }

Эти методы преобразуют строку base64 в URL-адрес данных и извлекают из нее тип MIME. Первый метод использует функцию atobдля декодирования строки base64, а второй метод использует API fetchдля выполнения запроса и получения типа контента из заголовков ответа. Третий метод использует регулярное выражение для извлечения типа MIME непосредственно из строки base64.