@accountnujen

Почему не работает Array.from(value) при переводе formData в массив?

https://codepen.io/accountnujen/pen/ExGvGdN?editor...
document.querySelector("form").addEventListener("submit", function (event) {
  event.preventDefault();
  let datar = {};
  const formData = new FormData(this);
  
  for(let [key, value] of formData.entries()) {
    console.log([key, value]);
    if (key === 'inputFile') {
      let arrpair = Array.from(value);
      console.log(arrpair);
      datar[key] = arrpair.map(file => ({
                        name: file.name,
                        type: file.type,
                        size: file.size
                    }));
    } else {
      datar[key] = value;
    }
  }
  console.log(datar);
});


Почему в конечном итоге arrpair пустой, если value содержит в себе file?
  • Вопрос задан
  • 85 просмотров
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
Ну да, Array.from(File) - пустой массив, потому что у File нет ни length ни числовых индексов, а чего ты хотел?

FormData хранит множество файлов как множество записей с одинаковым именем, по одному файлу в каждой, а не как одну запись с массивом всех файлов.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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