Задать вопрос
@Moshiwa

Как временный файл средствами js поместить в input type=file?

Реализовал запись звука на сайте, после остановки записи файл сохраняется во временное хранилище. Как этот файл отправить в форму? Пробовал ajaxом отправлять сразу на сервер, но это не совсем то что мне нужно.
  • Вопрос задан
  • 280 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Предположим в переменной blob лежит ваш звуковой файл, тогда вставить его в поле можно вот так:
// Создаем коллекцию:
var dt  = new DataTransfer();
dt.items.add(new File([blob], 'FileName.wav', {type: blob.type}));
var file_list = dt.files;

console.log('Коллекция файлов создана:');
console.dir(file_list);

// Вставим созданную коллекцию в реальное поле:
document.querySelector('input[type="file"]').files = file_list;

Если у вас формат звука не .wav, замените название файла на правильный.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Пробовал ajaxом отправлять сразу на сервер, но это не совсем то что мне нужно

Это именно то что нужно. Так как вы хотите - не работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы