|
步骤:
1、
var uploader= new FileUploader({
url:需要上传的地址,
autoUpload: 是否将文件添加到队列后自动上传(Boolean),
headers: 与文件一起发送的头文件,只适合支持html5的浏览器,根据实际情况配置
});
2、
uploader.filters.push({
name: 自定义
fn: function(item) {
实例:
/** * 上传功能 */ $scope.uploadStatus = false; //定义两个上传后返回的状态,成功获失败 var uploader = $scope.uploader = new FileUploader({ url: '/comm-fileserver/uploadFile', formData:[{userCode:$scope.usercode,systemId:'gscore-pa-web',bussType:'payment'}], queueLimit: 1, //文件个数 removeAfterUpload: true //上传后删除文件 }); $scope.clearCarItems = function(){ //重新选择文件时,清空队列,达到覆盖文件的效果 uploader.clearQueue(); $scope.fileItem = ''; } uploader.onAfterAddingFile = function(fileItem) { if($scope.iEVersion==8){ $scope.fileItem = fileItem.file; //添加文件之后,把文件信息赋给scope if($scope.fileItem.type !== 'like/xls'){ layer.msg('上传文件必须为.xls类型文件!!') $scope.importCondition = {}; $scope.fileItem = ''; return false; } }else { $scope.fileItem = fileItem._file; //添加文件之后,把文件信息赋给scope if($scope.fileItem.type !== 'application/vnd.ms-excel'){ layer.msg('上传文件必须为.xls类型文件!!') $scope.importCondition = {}; $scope.fileItem = ''; return false; } } }; uploader.onSuccessItem = function(fileItem, response, status, headers) { $scope.uploadStatus = true; //上传成功则把状态改为true $scope.importCondition.impFileNum = response.resultObj.fileId; $scope.importCondition.webUserCode =$scope.usercode; //$scope.importCondition.webComCode=$scope.centerCode; $scope.importCondition.webComCode=$scope.comCode; $scope.importCondition.webTaskCode=$scope.getMenuData(location.hash.substring(2,location.hash.length)).taskCode $scope.importCondition.processStatus=$scope.colRegCondition.processStatus; goImport($scope.importCondition); }; uploader.onErrorItem = function (fileItem, response, status, headers) { $scope.uploadStatus = false;//上传失败则把状态改为false layerMsg('上传失败') //alert('上传失败!'); //暂时功能 //$scope.importCondition.impFileNum = '123456789'; }; var goImport=function(obj){ $$accountManagement.importFile(obj,{ success: function (data) { if(data.resultCode == '0000'){ $scope.showMsgList.push(angular.copy(data.content)); $scope.fileData={ "fileName":data.fileName, "impFileNum":data.impFileNum, "impNum":data.impNum, "impAmount":data.impAmount, "currenCY":data.currenCY, } $scope.importCondition = {}; $scope.showSubmitBtn=true; }else{ $scope.uploadStatus=false; $scope.showMsgList.push(angular.copy(data.content)); $scope.resetUploadFile(); } }, error: function (e) { } })
}; $scope.resetUploadFile=function () { $scope.importCondition = {}; $scope.showSubmitBtn=false; $scope.fileItem = ''; }
1 <form class="form-horizontal" enctype="multipart/form-data">
2 <div class="form-group col-xs-12 col-sm-12 col-md-6">
3 <label class="col-xs-4">选择待导入文件上传:</label>
4 <div class="col-xs-7">
5 <div class="col-xs-12 input-group" style="margin-top: 0">
6 <input placeholder="请选择要上传的文件" disabled type="text" class="form-control" ng-model="fileItem.name">
7 <a href="javascript:;" class="input-group-addon cursor_pointer">
8 <div class="glyphicon">浏览</div>
9 <input name="certificate" nv-file-select uploader="uploader" id="fielinput" ng-click="clearItems()" type="file" class="collectscene_file_item" multiple filters="queueLimit,customFilter"/>
10 </a>
11 </div>
12 </div>
13 </div>
14 <div class="form-group"></div>
15 <div class="row list_queryForm_btn">
16 <button class="btn btn-success btn-width" ng-click="submitImport()">提交</button>
17 <button class="btn btn-primary" ng-click="downLoadTem()">模板下载</button>
18 </div>
19 </form>
1 //上传
2 $scope.uploadStatus = false; //定义两个上传后返回的状态,成功获失败
3 $scope.UpLoadReqDto={};
4 var uploader = $scope.uploader = new FileUploader({
5 /* url: '/file/uploadFile?userCode=200000477&systemId=crp&bussType=dpProposal',*/
6 url: '/file/uploadFile?userCode='+$rootScope.user.userCode+'&systemId=crp&bussType=dpProposal',
7 queueLimit: 1, //文件个数
8 removeAfterUpload: false, //上传后删除文件
9
10 });
11 $scope.clearItems = function(){ //重新选择文件时,清空队列,达到覆盖文件的效果
12 uploader.clearQueue();
13 };
14 uploader.onAfterAddingFile = function(fileItem) {
15 console.log(fileItem);
16
17 /* fileItem.formData[0].fileName = fileItem._file.name;*/
18 var reader = new FileReader();
19 debugger
20 /* console.log(fileItem.formData[0])
21 reader.readAsArrayBuffer(fileItem.formData[0]);*/
22 if($scope.iEVersion==8){
23 $scope.fileItem = fileItem.file; //添加文件之后,把文件信息赋给scope
24 if($scope.fileItem.type !== 'like/xls'){
25 layer.msg('上传文件必须为.xls类型文件!!')
26 $scope.importCondition = {};
27 $scope.fileItem = '';
28 return false;
29 }
30 }else {
31
32 $scope.fileItem = fileItem._file; //添加文件之后,把文件信息赋给scope
33 if($scope.fileItem.type !== 'text/plain'
34 && $scope.fileItem.type != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
35 && $scope.fileItem.type != 'application/vnd.ms-excel'){
36 layer.msg('上传文件必须为.xls,xlsx, csv类型文件!!')
37 $scope.importCondition = {};
38 $scope.fileItem = '';
39 return false;
40 }
41 }
42 };
43 uploader.onSuccessItem = function(fileItem, response, status, headers) {
44 $scope.uploadStatus = true;
45 $scope.fileItem = '';
46 $scope.UpLoadReqDto={};
47 $scope.UpLoadReqDto.fileName =fileItem._file.name;
48 $scope.UpLoadReqDto.fileId=response.fileId;
49 $scope.UpLoadReqDto.channelCode =$scope.newColRegCondition.channelCode ;
50 $scope.UpLoadReqDto.operatorCode =$rootScope.user.userCode;
51 $scope.UpLoadReqDto.comCode=$scope.comCode;
52 $scope.importCond = function(){
53 $$statementImport.submitImportDataAdd($scope.UpLoadReqDto,{
54 success: function (data) {
55 if(data.content.resultCode == 1){
56 layer.confirm('数据已存在,是否重复导入!',{btn: ['确定','取消'],icon: '3'},function(index){
57 //点确定回调方法
58 $scope.importCondition.signRequest = '1';
59 $$statementImport.submitImportDataAdd($scope.importCondition,{
60 success:function (data) {
61 if(data.content.resultCode == '0000'){
62 layer.msg(data.content.resultMsg,{icon:1});
63 $scope.importCondition = {};
64 return false;
65 }else{
66 layer.alert(data.content.resultMsg,{icon:2})
67 return false;
68 }
69 },error: function (e) {
70 layer.alert(data.content.resultMsg,{icon:2})
71 return false;
72 }
73 })
74 })
75 }else if(data.content.resultCode == '0000'){
76 layer.msg(data.content.resultMsg,{icon: 1})
77 $scope.importCondition = {};
78 return false;
79 }else{
80 layer.alert(data.content.resultMsg,{icon:2})
81 return false;
82 }
83 angular.forEach($scope.confirmList,function(data){
84 $scope.queryNum++;
85 data.checked=false;
86 data.selectedClass=''
87 })
88 },
89 error: function (e) {
90 layer.alert(data.content.resultMsg,{icon:2})
91 return false;
92 }
93 });
94 }
95 $scope.importCond();
96
97
98 };
99 uploader.onErrorItem = function (fileItem, response, status, headers) {
100 $scope.uploadStatus = false;//上传失败则把状态改为false
101 $scope.fileItem = '';
102 layer.alert('上传失败!');
103 };
104 /**
105 *提交
106 */
107 $scope.submitImport = function(target){
108 //先验证焦点定位
109 $scope.uploadStatus = false;
110 $$venus.Focus(
111 "premiumForm"
112 ).then(
113 function (Ele) {
114 if (angular.isDefined(Ele)) {
115 $timeout(function () {
116 Ele.focus();
117 },1000)
118 } else {
119 debugger
120 uploader.uploadAll();
121 if($scope.fileItem== undefined||$scope.fileItem== ''){
122 layerMsg('请选择上传文件')
123 }
124
125
126 }
127 }
128 )
129
130 };
来源:https://www.cnblogs.com/xu-blog/p/11996645.html |