Javascript AngularJs FTP多个文件
我试图使用angular js上传多个文件,但这些值没有存储在模型文件存储中 HTML代码: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
<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
,以下是替代解决方案
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;
});
});
};
});