如果我用这个小提琴https://jsfiddle.net/v70kou59/1/一切都按预期进行
(function () {
var output = document.getElementById('output');
document.getElementById('upload').onclick = function () {
var data = new FormData();
data.append('foo', 'bar');
data.append('file', document.getElementById('file').files[0]);
var config = {
onUploadProgress: function(progressEvent) {
var percentCompleted = Math.round( (progressEvent.loaded * 100) / progressEvent.total );
console.log(percentCompleted)
}
};
axios.put('/upload/server', data, config)
.then(function (res) {
output.className = 'container';
output.innerHTML = res.data;
})
.catch(function (err) {
output.className = 'container text-danger';
output.innerHTML = err.message;
});
};
})();
但是,如果我下载 axios 示例存储库并安装回调函数所需的依赖项,onUploadProgress 将不再按预期工作。它仅以“100”触发 onUploadProgress 一次。https://github.com/axios/axios/tree/master/examples
这可能是我的节点版本吗?看来这肯定是我的机器了。
我有确切的问题。原因之一(我的情况就是如此)可能是,您的网络太快而无法触发progressEvent
多次。
要模拟此情况,请在浏览器的“网络”选项卡上减慢网络速度。
Slow 3G
设置在 Google Chrome/New Edge(开发版本)浏览器上对我有用。
参考图片:
PS:我知道现在回答这个问题已经太晚了。但其他人抵达这里后可能会发现这很有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)