使用ng-repeat上传多个flie

时间:2018-01-07 21:23:59

标签: javascript angularjs file-upload angularjs-ng-repeat

我需要你的角色上传文件的帮助。如果单击X_train = np.expand_dims(X_train, 2) # makes it (10000,20,1) ... model = Sequential() model.add(LSTM(..., input_shape=(20, 1))) 将创建新的输入文件。此代码适用于一个输入文件,但我想使用ng-repeat并跟踪$ index但现在这无法正常工作。如果选择文件路径应该会在输入中显示。我不知道为什么如果删除ng-repeat代码工作正常,但是如果ng-repeat使用代码不起作用。



Add new input

angular.module('myApp', [])
.controller('myController', function($scope, $timeout){
      $scope.questionQuiz = [];
      $scope.addQuizQuestion = function(){
        $scope.questionQuiz.push({})
      }
    $scope.PhotoChanged = function(files) {
        if (files.length > 0 && files[0].name.match(/\.(png|jpeg|jpg)$/)) {
            $scope.uploading = true;
            $scope.imagePreview = true;
            var file = files[0];
            var fileReader = new FileReader();
            fileReader.readAsDataURL(file);
            fileReader.onload = function(e) {
                $timeout(function() {
                    $scope.uploading = false;                   
                });
            };
        } 
    };
    $scope.clearImage = function(file){
       $scope.imagePath = '';
       angular.forEach(
           angular.element(document.querySelector("#selectImage")),
           function(inputElem) {
              angular.element(inputElem).val(null);
            }
        );
    } 
    $scope.$watch('file.upload', function(newFile){
      if(newFile) $scope.imagePath = newFile.name
    })
})
.directive('fileModel', ['$parse', function($parse) {
    return {
        restrict: 'A',
        link: function(scope, element, attrs) {
            var parsedFile = $parse(attrs.fileModel);
            var parsedFileSetter = parsedFile.assign;

            element.bind('change', function() {
                scope.$apply(function() {
                    parsedFileSetter(scope, element[0].files[0]);
                });
            });
        }
    };
}])




1 个答案:

答案 0 :(得分:-1)

问题与angular或javascript无关,你只需要将文件识别为集合。

这是单次上传:

<input name="name">
<input name="myfile">

这是发送许多(或php中的文件数组):

<input name="name[]">
<input name="myfile[]">

您会注意到细微差别:)