Javascript AngularJs FTP多个文件

Javascript AngularJs FTP多个文件,javascript,angularjs,Javascript,Angularjs,我试图使用angular js上传多个文件,但这些值没有存储在模型文件存储中 HTML代码: <div ng-app="myApp"> <div ng-repeat="file in filelist"> <label>{{file.name}} </label> <input type="file" ng-model="filestore[$index]" /> </div

我试图使用angular js上传多个文件,但这些值没有存储在模型文件存储中

HTML代码:

 <div ng-app="myApp">
   <div ng-repeat="file in filelist">
          <label>{{file.name}} </label> 
          <input type="file" ng-model="filestore[$index]" />
   </div>  
</div>

<div>
     <input type="button" value="submit" ng-click="savefiles(filestore)"/>
</div>
})

下面是一个示例,说明如何通过自定义指令执行此操作

app.directive("fileBind", function() {
  return function( scope, elm, attrs ) {
    elm.bind("change", function( evt ) {
      scope.$apply(function() {
        scope[ attrs.fileBind ] = evt.target.files;
      });
    });
  };
});
如果需要使用
ng repeat
,以下是替代解决方案

  • 如果在ng repeat循环中使用绑定,则使用object
  • 在指令中使用绑定,以便可以轻松实现复杂的引用

  • Angular不支持文件元素上的ng模型文件存储标准js对象数组?是的,文件存储是标准js对象数组,可以包含我尝试过的文件。。。但是ng repeat并没有打印所有文件。。它只采取最后一个文件…而且我想有多个文件被上传。。。更新您的plunker有两种方法可以选择多个文件,
    输入元素中的多个属性(我的plunker)或多个输入元素(您的方式)。这取决于你喜欢哪一个。多输入元素(我的方式),我无法让它工作。你能更新上面的plunker吗。
    
    app.directive("fileBind", function() {
      return function( scope, elm, attrs ) {
        elm.bind("change", function( evt ) {
          scope.$apply(function() {
            scope[ attrs.fileBind ] = evt.target.files;
          });
        });
      };
    });