javascript - angularjs使用$http post上传文件的时候,怎样获取文件上传的进度?
本文介绍了javascript - angularjs使用$http post上传文件的时候,怎样获取文件上传的进度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
angularjs使用$http post上传文件的时候,怎样获取文件上传的进度?
网上找的一些现成插件如angular-loading-bar啥的,放进去不好使啊。
所以就想问问如何可以获取到文件上传的进度?
解决方案
首先可以用html5自带的XMLHttpRequest,增加了上传监听事件,具体可以参考这个链接
https://developer.mozilla.org...
angular在1.5.5以上的版本中,在$http中也加入了eventHandler和uploadEventHandlers等方法,
所以可以直接这样写:
$http({
method: 'POST',
url: url,
eventHandlers: {
progress: function(c) {
console.log('Progress -> ' + c);
console.log(c);
}
},
uploadEventHandlers: {
progress: function(e) {
console.log('UploadProgress -> ' + e);
console.log(e);
}
},
data: uploadData,
}).success(function(data) {
console.log(data);
}).error(function(data, status) {
console.log(data);
});
最后,也可以用比较成熟的组件去解决,推荐angular-file-upload
https://github.com/nervgh/ang...
这篇关于javascript - angularjs使用$http post上传文件的时候,怎样获取文件上传的进度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文