Динамическое изменение входного значения файла с многофайлового ввода на субфайловый ввод - PullRequest
0 голосов

Я просто загружаю некоторые изображения на свой веб-сайт, на них есть один родительский файл с несколькими входными данными, а другие являются вложенными файлами, которые в настоящее время получают только 1 файл. я хочу установить их значения по одному.

Вот где я попробовал

window.onload = function(){
  //Check File API support
  if(window.File && window.FileList && window.FileReader){
    var filesInput = document.querySelectorAll('.form-field__upload-file')[0];
    filesInput.addEventListener("change", function(event){
      var files = event.target.files;
      var output = document.getElementById("result");
      for(var i = 0; i< files.length; i++)
      {
        var file = files[i];
        //Only pics
        if(!file.type.match('image'))
          continue;
        var picReader = new FileReader();
        picReader.addEventListener("load",function(event){
          var picFile = event.target;
          var div = document.createElement("div");
          var icon = document.createElement('i');
          icon.className = "form-field__image-remove fa fa-trash";
          div.classList.add('form-field__image');
          div.appendChild(icon);

          var id = document.createElement('input');
          id.setAttribute('name','imageForms['+i+'].id');
          id.setAttribute('type','hidden');
          div.appendChild(id);

          var fi = document.createElement('input');
          fi.setAttribute('name','imageForms['+i+'].file');
          fi.setAttribute('type','file');
          fi.style.display = "none";
          fi.setAttribute('value','C:\\fakepath\\'+file.name);
          // fi.value ='C:\\fakepath\\'+file.name;
          div.appendChild(fi);

          div.style.backgroundImage = "url("+picFile.result+")";
          output.insertBefore(div,null);
        });
        picReader.readAsDataURL(file);
      }
    });
  }else{
    console.log("Your browser does not support File API");
  }
}

И ошибка сказала

Uncaught DOMException: не удалось установить свойство 'value' на 'HTMLInputElement': этот элемент ввода принимает имя файла, которое может только программно установить на пустую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...