angularjs – 以角度上传多个文件
发布时间:2020-12-17 08:11:55 所属栏目:安全 来源:网络整理
导读:我有一种情况,我有一个表单,我有一行,我有两个文本字段条目,我必须上传该行的文件,这种行可以是’N’,然后在那里是一个主文件,可以输入整个表单,而这些是表单的一部分,我必须一次提交所有这些文件点击保存按钮。 我很难忍受ng-upload,需要一个api
我有一种情况,我有一个表单,我有一行,我有两个文本字段条目,我必须上传该行的文件,这种行可以是’N’,然后在那里是一个主文件,可以输入整个表单,而这些是表单的一部分,我必须一次提交所有这些文件点击保存按钮。
我很难忍受ng-upload,需要一个api调用,我真的不能有多个api调用这个表单。 <tr ng-repeat="itemRow in item.singleItem"> <td> <input type="text" class="xdTextBox" name="itemRow.name" ng-model="model.itemRow[$index].name" /> </td> <td> <input type="text" class="xdTextBox" name="itemRow.manufacturer" ng-model="model.itemRow[$index].manufacturer" /> </td> <td> <input type="text" class="xdTextBox" name="itemRow.location" ng-model="model.itemRow[$index].location" /> </td> <td> <i class="pull-left glyphicon glyphicon-upload"> <input type="file" name="itemRow.doc" ng-model="model.itemRow[$index].doc" multiple=false> </i> </td> <td><i class="pull-left glyphicon glyphicon-remove"></i></td> </tr>
这里是文件值绑定指令的例子..
http://plnkr.co/edit/B13t84j5IPzINMh1F862?p=preview Js代码是 var app = angular.module('myApp',[]); app.controller('MainCtrl',function($scope) { $scope.name = 'World'; $scope.files = []; $scope.upload=function(){ alert($scope.files.length+" files selected ... Write your Upload Code"); }; }); app.directive('ngFileModel',['$parse',function ($parse) { return { restrict: 'A',link: function (scope,element,attrs) { var model = $parse(attrs.ngFileModel); var isMultiple = attrs.multiple; var modelSetter = model.assign; element.bind('change',function () { var values = []; angular.forEach(element[0].files,function (item) { var value = { // File Name name: item.name,//File Size size: item.size,//File URL to view url: URL.createObjectURL(item),// File Input Value _file: item }; values.push(value); }); scope.$apply(function () { if (isMultiple) { modelSetter(scope,values); } else { modelSetter(scope,values[0]); } }); }); } }; }]); Html代码是 <!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="utf-8" /> <title>AngularJS Plunker</title> <script>document.write('<base href="' + document.location + '" />');</script> <link href="style.css" rel="stylesheet" /> <script data-semver="1.4.3" src="https://code.angularjs.org/1.4.3/angular.js" data-require="angular.js@1.4.x"></script> <script src="app.js"></script> </head> <body ng-controller="MainCtrl"> <p>Hello {{name}}!</p> <input type="file" ng-file-model="files" multiple /> <button type="button" ng-click="upload()">Upload</button> <p ng-repeat="file in files"> {{file.name}} </p> </body> </html> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angularjs – 在表中的行上使用ng-repeat和ng-class
- angularjs – Restangular是否支持withCredentials选项和co
- Scala vals vs vars
- 如何发布第一个属于自己的npm包
- Angular4.x+Ionic3 踩坑之路之打包时出现JAVASCRIPT HEAP O
- scala – 可以将视图与并行集合一起使用吗?
- WebService大讲堂之Axis2(2):复合类型数据的传递
- angular1.x和angular2+并行,angular1.x 升级 angular2+方案
- CXF动态客户端调用webservice实例
- vim中的哪些设置抵消了smartindent拒绝在shell脚本中缩进#个