分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

angular-file-upload 获取已上传文件队列

发布时间:2023-09-06 01:08责任编辑:林大明关键词:upload

 引入资源同上一篇随笔第一步,不再赘述,

 第二步:构建应用

     html 标签上 加指令:ng-app="app" 

     body 标签上 加指令:ng-controller="AppController" 

    html代码:

    

<div class="pure-u-1-1" style="margin-bottom: 40px" > ????????????????????????<h3>文件队列</h3> ????????????????????????<p>队列长度: {{ uploader.queue.length }}</p> ????????????????????????<table class="table"> ????????????????????????????<thead> ????????????????????????????<tr> ????????????????????????????????<th width="50%">文件名称</th> ????????????????????????????????<th ng-show="uploader.isHTML5">大小</th> ????????????????????????????????<th ng-show="uploader.isHTML5">进度</th> ????????????????????????????????<th>状态</th> ????????????????????????????????<th>操作</th> ????????????????????????????</tr> ????????????????????????????</thead> ????????????????????????????<tbody> ????????????????????????????<tr ng-repeat="item in uploader.queue"> ????????????????????????????????<td><strong>{{ item.file.name }}</strong></td> ????????????????????????????????<td ng-show="uploader.isHTML5" nowrap>{{ item.file.size/1024/1024|number:2 }} MB</td> ????????????????????????????????<td ng-show="uploader.isHTML5"> ????????????????????????????????????<div class="progress" style="margin-bottom: 0;"> ????????????????????????????????????????<div class="progress-bar" role="progressbar" ng-style="{ ‘width‘: item.progress + ‘%‘ }"></div> ????????????????????????????????????</div> ????????????????????????????????</td> ????????????????????????????????<td class="text-center"> ????????????????????????????????????<span ng-show="item.isSuccess"><i class="glyphicon glyphicon-ok"></i></span> ????????????????????????????????????<span ng-show="item.isCancel"><i class="glyphicon glyphicon-ban-circle"></i></span> ????????????????????????????????????<span ng-show="item.isError"><i class="glyphicon glyphicon-remove"></i></span> ????????????????????????????????</td> ????????????????????????????????<td nowrap> ????????????????????????????????????<!--<button type="button" class="btn btn-success btn-xs" ng-click="item.upload()" ng-disabled="item.isReady || item.isUploading || item.isSuccess">--> ????????????????????????????????????????<!--<span class="glyphicon glyphicon-upload"></span> 上传--> ????????????????????????????????????<!--</button>--> ????????????????????????????????????<!--<button type="button" class="btn btn-warning btn-xs" ng-click="item.cancel()" ng-disabled="!item.isUploading"> ????????????????????????????????????????<span class="glyphicon glyphicon-ban-circle"></span> 取消 ????????????????????????????????????</button>--> ????????????????????????????????????<button type="button" class="btn btn-danger btn-xs" ng-click="removeFile(item)"> ????????????????????????????????????????<span class="glyphicon glyphicon-trash"></span> 删除 ????????????????????????????????????</button> ????????????????????????????????</td> ????????????????????????????</tr> ????????????????????????????</tbody> ????????????????????????</table> ????????????????????????<div> ????????????????????????????<div> ????????????????????????????????队列总进度: ????????????????????????????????<div class="progress" style=""> ????????????????????????????????????<div class="progress-bar" role="progressbar" ng-style="{ ‘width‘: uploader.progress + ‘%‘ }"></div> ????????????????????????????????</div> ????????????????????????????</div> ?????????????????????????????????????????????????</div> ????????????????????</div>
View Code

   第三步:  js代码,主要实现:

                限制文件上传个数,

                配置uploader添加文件即上传,

                上传成功获取当前file的response,

                uploader.removeFromQueue(index)

              

<script> ???‘use strict‘; ???angular.module(‘app‘, [‘angularFileUpload‘]) ???????????.controller(‘AppController‘, [‘$scope‘, ‘FileUploader‘, function($scope, FileUploader) {

?//附件数组 ????????$scope.attachList=[]; ???????//上传附件 ???????var uploader = $scope.uploader = new FileUploader({ ???????????url: ‘/knowledge/file/upload‘ ???????}); ???????//限制上传的文件数量 ???????uploader.queueLimit=10; ???????//上传后就删除,清除queue ???????//uploader.removeAfterUpload= false; ???????//添加文件自动上传 ???????uploader.autoUpload ?=true; ???????//自定义过滤器 ???????uploader.filters.push({ ???????????name: ‘asyncFilter‘, ???????????fn: function(item , options, deferred) { ???????????????console.log(‘asyncFilter‘); ???????????????setTimeout(deferred.resolve, 1e3); ???????????} ???????}); ????????//自定义的删除单个文档的方法 ????????$scope.removeFile = function(item){ ???????????var curIndex = uploader.getIndexOfItem(item); ????????????uploader.removeFromQueue(curIndex); ????????????$scope.attachList.splice(curIndex,1); ????????????console.info(‘$scope.attachList‘,$scope.attachList); ????????????console.info(‘queue‘,uploader.queue); ????????} ???????uploader.onBeforeUploadItem = function(item) { ???????????//console.info(‘onBeforeUploadItem‘, item); ???????}; ???????uploader.onSuccessItem = function(fileItem, response, status, headers) { ???????????//uploader.queue ???????????console.info(uploader.queue); //测试用 ???????????//length ???????????console.info("queue length:"+uploader.queue.length);//测试用 ???????????//fileItem ???????????console.info("fileItem:",fileItem); ???????????//curIndex ???????????var number= uploader.getIndexOfItem(fileItem); ???????????console.info("getIndexOfItem:",number);//测试用 ???????????//notUploadArr ???????????var notuploadArr =uploader.getNotUploadedItems(); ???????????console.info("notuploadArr:",notuploadArr);//测试用 ?????????????????if(response.success){ ???????????????if(response.data!=null&&response.data.length>0) ??????????????????$scope.attachList.push(response.data[0]); ???????????}; ???????};
 ??}]);</script>

           

  

angular-file-upload 获取已上传文件队列

原文地址:http://www.cnblogs.com/lizimeme/p/7472111.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved