Angular上传组件

所属分类:-

 32419  310  查看评论 (2)
分享到微信朋友圈
X
Angular上传组件 ie兼容9

angular-file-upload 是一个基于HTML5技术的文件上传轻量级 AngularJS指令(directive),当浏览器不支持时转为采用 FileAPI polyfill技术实现(基于Flash).

Directives(指令)

nv-file-drop

<!-- 最少配置 -->
<elementnv-file-dropuploader="{FileUploader}"></element>
<!-- 最多配置 -->
<elementnv-file-dropuploader="{FileUploader}"options="{Object}"filters="{String}"></element>
  • 属性 uploader 必须是 FileUploader的一个实例。

  • 属性 options 可能是 {FileItem} 的设置或者自定义设置。

  • 属性 filters 可能是用,隔开的过滤器名称,比如: 'filterName1, filterName2',这些过滤器必须如下预定义:

uploader.filters.push({name:'filterName1', fn:function() {/* your code here */}});
uploader.filters.push({name:'filterName2', fn:function() {/* your code here */}});

nv-file-select

<!-- 最少配置 -->
<inputtype="file"nv-file-selectuploader="{FileUploader}"/>
<!-- 最多配置 -->
<inputtype="file"nv-file-selectuploader="{FileUploader}"options="{Object}"filters="{String}"/>

nv-file-over

<!-- 最少配置 -->
<elementnv-file-overuploader="{FileUploader}"></element>
<!-- 最多配置 -->
<elementnv-file-overuploader="{FileUploader}"over-class="{String}"></element>

Service(服务)

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

方法

  • 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  返回上传队列中未上传的项

回调函数

  • 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

FileItem

属性

  • url {String}: Path on the server in which this file will be uploaded  上传文件的服务器路径

  • alias {String}: Name of the field which will contain the file, default is file  包含文件的名称,默认是file

  • headers {Object}: Headers to be sent along with this file. HTML5 browsers only.  上传的头文件信息, 浏览器需支持HTML5

  • formData {Array}: Data to be sent along with this file  与文件一起发送的表单数据

  • method {String}: It's a request method. By default POST. HTML5 browsers only.  请求方式,默认是POST,浏览器需支持HTML5

  • withCredentials {Boolean} : enable CORS. HTML5 browsers only.  使用CORS,默认是false, 浏览器需支持HTML5

  • removeAfterUpload {Boolean}: Remove this file from the queue after uploading  上传之后从上传队列移除该文件

  • index {Number} - A sequence number upload. Read only.  上传文件在上传队列中的序号,只读

  • progress {Number}: File upload progress percentage. Read only.  文件上传的进度,只读

  • isReady {Boolean} - File is ready to upload. Read only.  文件是否准备好上传,只读

  • isUploading {Boolean}: true if the file is being uploaded. Read only.  文件是否正在上传中,只读

  • isUploaded {Boolean}: true if the file was uploaded. Read only.  文件是否已经上传,只读

  • isSuccess {Boolean}: true if the file was uploaded successfully. Read only.  文件是否已经上传成功,只读

  • isCancel {Boolean} : true if uploading was canceled. Read only.  文件是否取消上传,只读

  • isError {Boolean} - true if occurred error while file uploading. Read only.  文件是否上传错误,只读

  • uploader {Object}: Reference to the parent Uploader object for this file. Read only.  上传该文件的Uploader ,只读

方法

  • remove function() {: Remove this file from the queue  从上传队列移除该文件

  • upload function() {: Upload this file  上传该文件

  • cancel function() {: Cancels uploading of this file  取消上传该文件

回调函数

  • onBeforeUpload function() {: Fires before uploading an item.  上传该文件之前

  • onProgress function(progress) {: On file upload progress.  上传该文件的过程

  • onSuccess function(response, status, headers) {: On file successfully uploaded  成功上传该文件后

  • onError function(response, status, headers) {: On upload error  上传该文件出错后

  • onCancel function(response, status, headers) { - On cancel uploading  取消上传该文件后

  • onComplete function(response, status, headers) {: On file upload complete (independently of the sucess of the operation)  完成上传该文件后

Filters(过滤器)

注册过滤器:

var uploader =newFileUploader({
    filters: [{
        name:'yourName1',
        // A user-defined filterfn:function(item) {
            returntrue;
        }
    }]
});
// 另一种
uploader.filters.push({
    name:'yourName2',
    fn:function(item) {
        returntrue;
    }
});

预定义的过滤器:

folder
queueLimit


相关插件-

iframe fixed失效问题兼容ios

iframe在安卓、ios中滚动,头部、底部也能固定。主要解决iframe在苹果手机iphone(ios)中滚动时头部与底部不能固定及滚动时出现卡顿的情况。本Demo演示iframe中固定父页面头部、底部,子页面正常滚动。兼容PC和移动端,尤其是苹果ios系统(如iphone手机)
 
 21888  313

轻量级JS库TypeLighter实现打字机效果

轻量级JS库TypeLighter.js实现打字机效果
 
 11888  225

砸金蛋

不带php可控制概率
 
 38127  340

jquery分步操作插件

jquery分步操作插件step.js,代码注释全修改方便。
 
 30494  329

讨论这个项目(2)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    从?开始⊙╊⊙ 0
    2017/4/1 9:08:21

    怎么下载不了?404

        西瓜0
        2019/3/1 11:12:20
        下载文件已经修复,可正常下载了。
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复