как конвертировать файл в base64 в javascript и typescript

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
26 февраля 2025

Конвертация файла в base64 в JavaScript и TypeScript довольно простая задача:

function fileToBase64(file: File): Promise<string> {
    return new Promise((resolve, reject) => {
        const reader = new FileReader();

        reader.onload = () => {
            const base64String = reader.result as string;
            const base64Data = base64String.split(',')[1]; // отрезаем "data:image/jpeg;base64,"

            resolve(base64Data);
        };

        reader.onerror = error => {
            reject(error);
        };

        reader.readAsDataURL(file);
    });
}

const input = document.getElementById('file-input') as HTMLInputElement;

input.addEventListener('change', async () => {
    const file = input.files[0];
    if (file) {
        try {
            const base64Data = await fileToBase64(file);
            console.log(base64Data); // Выводим base64 данные в консоль
        } catch (error) {
            console.error('Ошибка при конвертации файла в base64:', error);
        }
    }
});

Не забудьте, что для работы с файлами в браузере необходимо иметь доступ к файловой системе пользователя, поэтому код будет работать только в браузере.

0 0
Познакомьтесь с основами JavaScript бесплатно