Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2024, 17:50
Новичок на форуме
Отправить личное сообщение для pozitiFFF Посмотреть профиль Найти все сообщения от pozitiFFF
 
Регистрация: 18.01.2024
Сообщений: 5

Загрузка файла и преобразование к формату base64
Необходимо в расширении загрузить файл (формата wav) по внешнему пути и получить его значение в формате base64.
Не понимаю как сделать преобразование.
Загружаю файл через метод fetch()
Затем в полученном ответе через blob() получаю значение типа binary/octet-stream.
Дальше не могу понять как дойти до формата base64.
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2024, 18:31
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Для начала: а ты уверен что тебе нужен 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);
  });
}
__________________
29375, 35

Последний раз редактировалось Aetae, 19.01.2024 в 18:36.
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2024, 18:33
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Сообщение от pozitiFFF
Дальше не могу понять как дойти до формата base64.
https://developer.mozilla.org/en-US/...ry_binary_data
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2024, 18:05
Новичок на форуме
Отправить личное сообщение для pozitiFFF Посмотреть профиль Найти все сообщения от pozitiFFF
 
Регистрация: 18.01.2024
Сообщений: 5

Сообщение от Aetae Посмотреть сообщение
Для начала: а ты уверен что тебе нужен 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);
  });
}
То что нужно! Получилось. Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax и загрузка файла клиенту alexgluker jQuery 2 08.09.2015 15:30
Преобразование Base64 в файл в IndexedDb pakskiy Общие вопросы Javascript 4 15.04.2015 13:26
Загрузка большого json файла uncher4 AJAX и COMET 1 23.06.2014 22:54
Не работает корректно загрузка файла в IE rroman Javascript под браузер 0 08.10.2010 19:12
загрузка джаваскрипта file by file с номером ревизии(последней) в урле для файла sergdev Ваши сайты и скрипты 7 13.04.2010 10:52