angular-file-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>

第三步:  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>
				
时间: 2024-08-08 17:07:22

angular-file-upload 获取已上传文件队列的相关文章

node.js express fs 获取已上传文件数据格式

{ "fieldName": "photo", "originalFilename": "1395130808991.jpg", "path": "tmpupload/25546-z8u01y.jpg", "headers": { "content-disposition": "form-data; name=\"photo\&

在Update Panel 控件里面添加 File Upload 控件 上传文件

Detail Information:http://www.codeproject.com/Articles/482800/FileplusUploadplusinplusUpdateplusPanel http://aspsnippets.com/Articles/Using-FileUpload-Control-inside-ASP.Net-AJAX-UpdatePanel-Control.aspx 必须设置PostBackTrigger 属性 <asp:UpdatePanel ID="

转:使用 Nginx Upload Module 实现上传文件功能

普通网站在实现文件上传功能的时候,一般是使用Python,Java等后端程序实现,比较麻烦.Nginx有一个Upload模块,可以非常简单的实现文件上传功能.此模块的原理是先把用户上传的文件保存到临时文件,然后在交由后台页面处理,并且把文件的原名,上传后的名称,文件类型,文件大小set到页面.下面和大家具体介绍一下. 一.编译安装Nginx 为了使用Nginx Upload Module,需要编译安装Nginx,将upload module编译进去.upload module的代码可以去Gith

面试题笔记:实现Nginx Upload 模块 功能上传文件。

linux服务器开发测评题目———————————————————————————— 搭建一个nginx服务器,能完成文件上传功能.主要构成有: <1> 用于测试服务器上传功能用的前端html页面 <2> nginx web服务器,包括了文件上传功能模块,注意配置好配置文件 <3> 对于上传成功的文件,给前端返回upload successfully信息 动手搭建完成后,针对上面的几点要求截几张图,同时把前端html页面,nginx配置文件,和假如需要使用的业务逻辑代码

form表单上传域(type=&quot;file&quot;)的使用----上传文件

一,单个文件的上传 1.html/jsp页面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/

关于web获取以及上传文件的注意事项

一.jar包    需要 1. commons-fileupload-x.x.x.jar 2.commons-io-x.x .jar 二.注意表单区别      普通表单: 上传文件的表单:    多了  enctype=“xx”: 三.获取代码    表单代码: 获取代码: 对于普通表单数据和文件数据要进行分类处理 四.servlet的注意事项       里面要同时有doGet和doPost方法. 原文地址:https://www.cnblogs.com/czc268/p/10731751.

springBoot 连接打包成jar包运行时,获取图片上传文件、前端调用图片显示

配置文件在application.properties中进行配置 web.upload-path=d:/myfile/uploadweb.front-path=d:/myfile/frontspring.resources.static-locations=file:${web.upload-path},file:${web.front-path} application.yml配置方式 web:  upload-path: d:/myfile/upload  front-path: d:/my

用jQuery File Upload做的上传控件demo,支持同页面多个上传按钮

需求 有这么一个需求,一个form有多个文件要上传,但又不是传统的图片批量上传那种,是类似下图这种需求,一开始是用的swfupload做的上传,但是问题是如果有多个按钮的话,就要写很多重复的代码,于为了代码的简洁所以就开始寻求其他的方法,期间试过uploadify,但是由于样式始终调不出来,最后就放弃了,直到发现这么个小巧的玩意,jQuery File Upload. 本文包含了upload的js实现,html的分析,css的实现等内容,文章末尾有git地址 最简运行时 官网下载的demo有N多

FileUpload控件如何获取要上传文件的路径

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="BorrowPage.aspx.cs" Inherits="Borrow_BorrowPage" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/T