zoukankan      html  css  js  c++  java
  • angular FileUploader

    FileUploader属性
    url {String}: 上传文件的服务器路径
    alias {String}: 包含文件的名称,默认是file
    queue {Array}: 上传队列
    progress {Number}: 上传队列的进度,只读
    headers {Object}: 上传的头文件信息, 浏览器需支持HTML5
    formData {Array}: 与文件一起发送的表单数据
    filters {Array}: 在文件加入上传队列之前应用过滤器.,如果过滤器返回true则文件加入队列中
    autoUpload {Boolean}: 文件加入队列之后自动上传,默认是false
    method {String}: 请求方式,默认是POST,浏览器需支持HTML5
    removeAfterUpload {Boolean}: 文件上传成功之后从队列移除,默认是false
    isHTML5 {Boolean}: 如果浏览器支持HTML5上传则返回true,只读
    isUploading {Boolean}: 文件正在上传中返回true,只读
    queueLimit {Number} : 最大上传文件数量(预定义)
    withCredentials {Boolean} : 使用CORS,默认是false, 浏览器需支持HTML5
    FileUploader方法
    addToQueue function(files[, options[, filters]]) {: Add items to the queue, where files is a {FileList|File|HTMLInputElement}, options is an {Object} andfilters is a {String}. 添加项到上传队列中,files 是 {FileList|File|HTMLInputElement}, options 是 {Object} 以及 filters 是 {String}
    removeFromQueue function(value) {: Remove an item from the queue, wherevalue is {FileItem} or index of item. 从上传队列移除项,value 可以是 {FileItem} 或者项的序号
    clearQueue function() {: Removes all elements from the queue. 移除上传队列所有的元素
    uploadItem function(value) {: Uploads an item, where value is {FileItem} or index of item. 上传项, value 可以是 {FileItem} 或者项的序号
    cancelItem function(value) {: Cancels uploading of item, where value is{FileItem} or index of item. 取消上传的项
    uploadAll function() {: Upload all pending items on the queue. 将上传队列中所有的项进行上传
    cancelAll function() {: Cancels all current uploads. 取消所有当前上传
    destroy function() {: Destroys a uploader.
    isFile function(value) {return {Boolean};}: Returns true if value is {File}.
    isFileLikeObject function(value) {return {Boolean};}: Returns true if value is{FileLikeObject}.
    getIndexOfItem function({FileItem}) {return {Number};}: Returns the index of the{FileItem} queue element. 返回项在上传队列中的序号
    getReadyItems function() {return {Array.<FileItems>};}: Return items are ready to upload. 返回准备上传的项
    getNotUploadedItems function() {return {Array.<FileItems>};}: Return an array of all pending items on the queue 返回上传队列中未上传的项
    ​​​​​FileUploader回调函数
    onAfterAddingFile function(item) {: 添加文件到上传队列后
    onWhenAddingFileFailed function(item, filter, options) {: 添加文件到上传队列失败后
    onAfterAddingAll function(addedItems) {: 添加所选的所有文件到上传队列后
    onBeforeUploadItem function(item) {: 文件上传之前
    onProgressItem function(item, progress) {: 文件上传中
    onSuccessItem function(item, response, status, headers) {: 文件上传成功后
    onErrorItem function(item, response, status, headers) {: 文件上传失败后
    onCancelItem function(item, response, status, headers) { - 文件上传取消后
    onCompleteItem function(item, response, status, headers) {: 文件上传完成后
    onProgressAll function(progress) {: 上传队列的所有文件上传中
    onCompleteAll function() {: 上传队列的所有文件上传完成后

    回调函数顺序是:

    onAfterAddingFile(添加文件到上传队列后) --onAfterAddingAll(添加所选的所有文件到上传队列后) — onBeforeUploadItem(文件上传之前) — onProgressItem(文件上传中) — onProgressAll(上传队列的所有文件上传中) — onSuccessItem(文件上传成功后) — onCompleteItem(文件上传完成后) — onCompleteAll(上传队列的所有文件上传完成后)

    上传Excel示例:
    vm.uploader = new FileUploader({
    url: abp.appPath + 'Upload/SalaryExcel',
    headers: {
    "X-XSRF-TOKEN": abp.security.antiForgery.getToken()
    },
    removeAfterUpload: true,
    autoUpload: true,
    filters: [app.consts.upload.excelFileFilter],
    onSuccessItem: function (item, response, status, headers) {
    vm.url = response.result.url;
    },
    });

    头文件中需要加入FileUploader:

    angular.module('app').controller('app.hrm.views.salary.index', [
    '$scope', '$uibModalInstance', 'FileUploader', 
    function ($scope, $uibModalInstance, FileUploader) {

    }

    图片的filter格式示例:

    filters: [{
    name: 'imageFilter',
    fn: function (item, options) {
    //File type check
    var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|';
    if ('|jpg|jpeg|png|gif|'.indexOf(type) === -1) {
    abp.message.warn("上传文件类型错误!");
    return false;
    }

    //File size check
    if (item.size > 1048576) //1MB
    {
    abp.message.warn("上传文件不能大于1M!");
    return false;
    }

    return true;
    }
    }]

    excel格式:

    filters: [{
    name: 'excelFilter',
    fn: function (item, options) {
    if (!/(.xls|.xlsx)$/.test(item.name)) {
    abp.message.warn("上传文件类型错误!");
    return false;
    }
    return true;
    }
    }],

    文件格式:

    filters: [{
    name: 'fileFilter',
    fn: function (item, options) {
    return true;
    }
    }],

  • 相关阅读:
    论文引用标记设置
    悬浮图层特效
    SocketInputStream.socketRead0引起线程池提交任务后,futureTask.get超时
    线程池中的线程何时死亡?
    AppClassLoader
    《Java高并发编程详解-多线程架构与设计》Java Classloader
    Tomcat的类加载器初步认识
    《Java高并发编程详解-多线程架构与设计》Thread API
    《Java高并发编程详解-多线程架构与设计》JVM类加载器
    SpringMVC中的RootWebApplicationContext与ServletWebApplicationContext
  • 原文地址:https://www.cnblogs.com/luoxiaoxiao102/p/15022872.html
Copyright © 2011-2022 走看看