angularJs多文件上传


<input type="file" id="file{{$index}}" class="file{{$index}}" ngf-select ngf-change="cacScriptEditVm.views.uploadAttach($files)" multiple/>
<div class="form-group" ng-repeat="item in cacScriptEditVm.views.files track by $index">
<label class="col-sm-4">
{{item.name}}
</label>

</div>
 
vm.views.files = [];

function uploadAttach($file) {

vm.views.files = $file;
       if($file.length>1){
                for(var i=0;i<$file.length;i++){
                    console.log($file[i]);
                }
            }
        
    addAttachment(0,$file);
}

function addAttachment(taskId, file) {
var deferred = $q.defer();//声明承诺
Upload
.upload({
url: _appconfig.apiBaseUrls.tm + '/api/tm/task/attachment?taskId=' + taskId,
fields: {},
file: file
})
.progress(function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
// console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
})
.success(function (data, status, headers, config) {
// console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
deferred.resolve(data);//请求成功
})
.error(function (data, status, headers, config) {
// console.log('error status: ' + status);
deferred.reject(data);//请求成功
});

return deferred.promise; // 返回承诺
}
 



原文地址:https://www.cnblogs.com/zml-java/p/9042706.html