<div class="col-lg-1 col-sm-1 pull-right">
<a id="fileb" href="javascript:;" name="file" ng-show="jIn">
<input type="file" nv-file-select="" uploader="uploader1" multiple /><a class="btn btn-info btn-sm" ng-show="jIn">导入</a>
</a>
</div>


//导入
var uploader1 = $scope.uploader1 = new FileUploader({
url: 'http://localhost:8080/importWorkBook?loanChannel=005',
autoUpload:true
});

// FILTERS

uploader1.filters.push({
name: 'customFilter',
fn: function(item /*{File|FileLikeObject}*/, options) {
return this.queue.length < 10;
}
});

// CALLBACKS

uploader1.onWhenAddingFileFailed = function(item /*{File|FileLikeObject}*/, filter, options) {
// console.info('onWhenAddingFileFailed', item, filter, options);
};
uploader1.onAfterAddingFile = function(fileItem) {
// console.info('onAfterAddingFile', fileItem);
};
uploader1.onAfterAddingAll = function(addedFileItems) {
// console.info('onAfterAddingAll', addedFileItems);
};
uploader1.onBeforeUploadItem = function(item) {
// console.info('onBeforeUploadItem', item);
};
uploader1.onProgressItem = function(fileItem, progress) {
// console.info('onProgressItem', fileItem, progress);
};
uploader1.onProgressAll = function(progress) {
// console.info('onProgressAll', progress);
};
uploader1.onSuccessItem = function(fileItem, response, status, headers) {
if(response.returnMsg == "ok"){
swal({
title : "导入成功",
text : "",
type : "success",
timer: 1300,
showConfirmButton: false
});
$scope.processingInfo();
}else{
swal({
title : "导入失败",
text : "对不起,数据有误,导入失败!",
type : "error",
timer: 1300,
showConfirmButton: false
});
$scope.processingInfo();
}
// console.info('onSuccessItem', fileItem, response, status, headers);
};
uploader1.onErrorItem = function(fileItem, response, status, headers) {
// console.info('onErrorItem', fileItem, response, status, headers);
};
uploader1.onCancelItem = function(fileItem, response, status, headers) {
// console.info('onCancelItem', fileItem, response, status, headers);
};
uploader1.onCompleteItem = function(fileItem, response, status, headers) {
// console.info('onCompleteItem', fileItem, response, status, headers);
};
uploader1.onCompleteAll = function() {
// console.info('onCompleteAll');
};

// console.info('uploader', uploader);

控制多文件上传及文件类型

accept="p_w_picpath/*"

multiple



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(){/*yourcodehere*/}});uploader.filters.push({name:'filterName2',fn:function(){/*yourcodehere*/}});

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

方法

addToQueuefunction(files[, options[, filters]]) {: Add items to the queue, wherefilesis a{FileList|File|HTMLInputElement},optionsis an{Object}andfiltersis a{String}. 添加项到上传队列中,files{FileList|File|HTMLInputElement},options{Object}以及filters{String}

removeFromQueuefunction(value) {: Remove an item from the queue, wherevalueis{FileItem}or index of item. 从上传队列移除项,value可以是{FileItem}或者项的序号

clearQueuefunction() {: Removes all elements from the queue. 移除上传队列所有的元素

uploadItemfunction(value) {: Uploads an item, wherevalueis{FileItem}or index of item. 上传项,value可以是{FileItem}或者项的序号

cancelItemfunction(value) {: Cancels uploading of item, wherevalueis{FileItem}or index of item. 取消上传的项

uploadAllfunction() {: Upload all pending items on the queue. 将上传队列中所有的项进行上传

cancelAllfunction() {: Cancels all current uploads. 取消所有当前上传

destroyfunction() {: Destroys a uploader.

isFilefunction(value) {return {Boolean};}: Returns true if value is{File}.

isFileLikeObjectfunction(value) {return {Boolean};}: Returns true if value is{FileLikeObject}.

getIndexOfItemfunction({FileItem}) {return {Number};}: Returns the index of the{FileItem}queue element. 返回项在上传队列中的序号

getReadyItemsfunction() {return {Array.<FileItems>};}: Return items are ready to upload. 返回准备上传的项

getNotUploadedItemsfunction() {return {Array.<FileItems>};}: Return an array of all pending items on the queue 返回上传队列中未上传的项

回调函数

onAfterAddingFilefunction(item) {: 添加文件到上传队列后

onWhenAddingFileFailedfunction(item, filter, options) {: 添加文件到上传队列失败后

onAfterAddingAllfunction(addedItems) {: 添加所选的所有文件到上传队列后

onBeforeUploadItemfunction(item) {: 文件上传之前

onProgressItemfunction(item, progress) {: 文件上传中

onSuccessItemfunction(item, response, status, headers) {: 文件上传成功后

onErrorItemfunction(item, response, status, headers) {: 文件上传失败后

onCancelItemfunction(item, response, status, headers) {- 文件上传取消后

onCompleteItemfunction(item, response, status, headers) {: 文件上传完成后

onProgressAllfunction(progress) {: 上传队列的所有文件上传中

onCompleteAllfunction() {: 上传队列的所有文件上传完成后


成功上传文件的回调函数顺序是: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 isfile 包含文件的名称,默认是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 defaultPOST. 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}:trueif the file is being uploaded. Read only. 文件是否正在上传中,只读

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

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

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

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

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

方法

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

uploadfunction() {: Upload this file 上传该文件

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

回调函数

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

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

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

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

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

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

Filters(过滤器)注册过滤器:

varuploader=newFileUploader({filters:[{name:'yourName1',//Auser-definedfilterfn:function(item){returntrue;}}]});//另一种uploader.filters.push({name:'yourName2',fn:function(item){returntrue;}});预定义的过滤器:

folder

queueLimit


github地址:https://github.com/nervgh/angular-file-upload/wiki/Module-API