【发布时间】:2021-01-25 14:56:32
【问题描述】:
我正在尝试跟踪视频上传的进度并将其显示给用户。
这是上传视频的axios请求。
const config = {
onUploadProgress: function (progressEvent) {
var percentCompleted = Math.round(
(progressEvent.loaded * 100) / progressEvent.total
);
console.group("profileActions.uploadProfileVideoURL");
console.log("progressEvent.loaded: ", progressEvent.loaded);
console.log("progressEvent.total: ", progressEvent.total);
console.log("percentCompleted: ", percentCompleted);
console.groupEnd();
},
};
axios
.post("/api/profile/uploadProfileVideoURL", videoData, config)
问题是它只有在视频完全上传时才会触发。
我发现这个Github Axios Issue:
如果您的上传文件太小,则只能触发 100%,或者 下载/上传速度太快。尝试上传 10mb 的文件。
所以我尝试上传一个 100Mb 的视频,但在上传结束时仍会触发该事件。
知道为什么会这样吗?
我可以微调 axios 以使事件在某些进度值处触发吗?
【问题讨论】:
标签: javascript reactjs axios httprequest