файлы печатаются как [объектный объект] вместо [объектный файл] - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь отправить информацию о загруженных файлах с клиента на сервер, используя angularjs .

Я включил onchange в элемент file, чтобы получить список файлов, как показано ниже.

<input type="file" id="file" name="file" ng-file-model="files" multiple
        onchange="angular.element(this).scope().getFiles(this)" />

Но чтобы показать выбранные файлы на веб-странице и разрешить выбирать файлы из нескольких каталогов, я использую директиву ngFileModel. Каждый раз, когда мы выбираем файл, я выдаю предупреждение, в котором объект отображается как [объектный файл]. При нажатии на кнопку «Отправить» я пытаюсь перебрать файлы и добавить файлы в объект FormData и выполнить некоторые дополнительные функциональность, пример кода, как показано в приведенных ниже фрагментах кода.

Я попытался добавить файлы с помощью тега директивы "ngFileModel" и перебрать файлы, как показано ниже:

for (var i in $scope.filesToUpload) {
         alert("from directive" + $scope.filesToUpload[i]);
              //some logic
            }

В приведенном выше случае файлы печатаются как [object Object] вместо [object File].

Добавление файлов с использованием $ scope.files:

for (var i in $scope.files) {
         alert("scope.files" + $scope.files[i]);
              // some logic
            }

В указанном выше случае файлы также печатаются как [object Object] вместо [object File]. Еще одна проблема, которую я видел здесь, - это когда файлы выбираются (getFiles(this)) из нескольких папок и нажимают кнопку «Отправить», только при этом сохраняется информация о последнем выбранном файле.

Демо: http://plnkr.co/edit/ch4fVz7iXmJRPthvCsQt?p=preview

Пожалуйста, посмотрите демонстрацию по ссылке выше, когда пользователь выбирает файл (один или несколько), я печатаю объект, который показывает [объектный файл]. Но при нажатии на кнопку отправки, когда объект распечатывается разными способами, как показано в приведенных выше фрагментах кода, он печатается как [объект объекта]. Я думаю, что виновником является директива ngFileModel, но мне нужно выбрать несколько файлов из разных директив и разрешить пользователю удалять перед отправкой мне нужна эта директива. Как напечатать объект файла как [объектный файл] вместо [объектный объект]. Любые входные данные?

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