Video Upload.js
var json = {
"request": {
"service":{
"servicetype":servicetype,
"session_id": session_id
},
"data":{
"rolename":rolename
}
}
};
FileService.uploadFile( json, file ).then(function(res){
console.log(JSON.stringify(res));
if( res && res.status.code == 0 ) {
$scope.getVideo( res.data.mediaids[0] );
$scope.getAll();
} else FlashService.Error(res.status.message, true);
});
}
视频HTML:
<div class="row">
<video ng-if="videoSource.length > 0" vg-src="videoSource"
preload='metadata' controls></video>
<div class="file-upload-wrapper">
<div class="file-video-upload">
<input type="file" file-model="video" name="file" class="video"/>
</div>
</div>
<div class="file-tags">
<ul>
<li ng-repeat="video in files | filter :'video'" >
<div class="file-tag-baloon">
<span>
<a ng-click="getVideo(video.id);">{{video.filename}}</a>
</span>
<span><a ng-click="removeVideo(video.id)">x</a></span>
</div>
</li>
</ul>
</div>
</div>
我已经使用我的后端服务请求完成了视频上传,这也是成功的。但是,如果我的视频大小太大或互联网太慢,问题有时会发生。它只是空闲,我需要做像视频加载的暗示或gif图像,直到响应来自后端。需要帮助。
答案 0 :(得分:1)
您可以设置一个标志来指示是否显示微调器,如下所示:
$scope.getVideo = function(id){
$scope.displayLoadImage = true; // spinner flag
FileService.uploadFile( json, file ).then(
function(res){ // on success
// Do your onsuccess stuff here
}, function(error) {
// Do your onsuccess stuff here
}).finally(function()){
// The finally statement is executed regardless of result
$scope.displayLoadImage = true;
});
}
然后在你的HTML中的某个地方
<div ng-show="displayLoadImage">... display spinner...</div>