记录一下angular文件上传,以遍查找
<div class="form-group">
<label class="font-noraml">{{'duty.uploadSignPicture' | translate}} *</label>
<div class="input-group full-width" >
<input type="text" class="form-control"
data-ng-model="dutyDetailsCtrl.dutyData.operatorPic"
ng-required="true"
readonly
name="operatorPic" for="File"
>
<label class="btn btn-default" for="File">
<i class="fa fa-folder-open"></i>
</label>
<input id="File" type="file" nv-file-select
uploader="dutyDetailsCtrl.picFileUploader"/><br/>
</span>
</div>
<div class="progress"
ng-if="dutyDetailsCtrl.picFileUploader.queue[0].progress > 0">
<div class="progress-bar" role="progressbar"
ng-style="{ 'width': dutyDetailsCtrl.picFileUploader.queue[0].progress + '%' }">
<span >{{dutyDetailsCtrl.picFileUploader.queue[0].progress}}%</span>
</div>
</div>
</div>
vm.picFileUploader = new FileUploader({
url:url,
formData : [{ //携带额外参数
operatorName:"",
operatorType: ""
}],
onSuccessItem : function(fileItem, response, status, headers) {
vm.ok();
transferObject.successCallback(dutyGroupCallBack);
},
headers:[ {'Content-Type': 'multipart/form-data;charset=UTF-8'}
,{'Access-Control-Allow-Origin':'*'}],
filters: [{fn:function(item) {
vm.picFileUploader.queue = []; //上传文件时,点击文件不上传时也会加入到队列,清除上次点击的文件
var errors = validateFiles(item.type, item.name);
if(errors.length==0){
var fileName = item.name;
vm.dutyData.operatorPic = fileName; //TODO move to correct callback
return true
}else{
for(var i=0;i<errors.length;i++){
dutyService.showMessage($filter('translate')(errors[i]),'warning');
}
return false;
}
}
}]
});
vm.picFileUploader.uploadAll(); //上传