Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Загрузка файла и преобразование к формату base64 (https://javascript.ru/forum/misc/85714-zagruzka-fajjla-i-preobrazovanie-k-formatu-base64.html)

pozitiFFF 19.01.2024 17:50

Загрузка файла и преобразование к формату base64
 
Необходимо в расширении загрузить файл (формата wav) по внешнему пути и получить его значение в формате base64.
Не понимаю как сделать преобразование.
Загружаю файл через метод fetch()
Затем в полученном ответе через blob() получаю значение типа binary/octet-stream.
Дальше не могу понять как дойти до формата base64.

Aetae 19.01.2024 18:31

Для начала: а ты уверен что тебе нужен base64? Если ты хочешь использовать где-то в браузере этот файл, то гораздо лучше использовать URL.createObjectURL.
URL.createObjectURL(blob)

Но если таки надо, то придётся воспользоваться FileReader.readAsDataURL.
function toBase64(blob) {
  return new Promise((resolve, reject) =>{
    const reader = new FileReader();

    reader.onload = () => resolve(reader.result);
    reader.onerror = reject;

    reader.readAsDataURL(blob);
  });
}

voraa 19.01.2024 18:33

Цитата:

Сообщение от pozitiFFF
Дальше не могу понять как дойти до формата base64.

https://developer.mozilla.org/en-US/...ry_binary_data

pozitiFFF 20.01.2024 18:05

Цитата:

Сообщение от Aetae (Сообщение 554521)
Для начала: а ты уверен что тебе нужен base64? Если ты хочешь использовать где-то в браузере этот файл, то гораздо лучше использовать URL.createObjectURL.
URL.createObjectURL(blob)

Но если таки надо, то придётся воспользоваться FileReader.readAsDataURL.
function toBase64(blob) {
  return new Promise((resolve, reject) =>{
    const reader = new FileReader();

    reader.onload = () => resolve(reader.result);
    reader.onerror = reject;

    reader.readAsDataURL(blob);
  });
}

То что нужно! Получилось. Спасибо.


Часовой пояс GMT +3, время: 09:53.