httpUploadProgress 期间的进度条
Progress bar during httpUploadProgress
我正在尝试为 ajax 发生的上传创建一个用户可见的进度条。上传正在发送到 s3 存储桶。
这是我将文件发送到存储桶的脚本:
var upload = s3.upload(
{Bucket: 'tgr-video-ingest', Key: rCreds.ObjectKey, Body: file}
);
upload.on('httpUploadProgress', function (progress) {
var pct = Math.round(progress.loaded / progress.total * 100);
$('#progress').html(pct + '%');
});
截至目前,我正在 p 标签中编写进度,但想将其显示在一个像加载进度条一样动画的 html 元素中。有没有办法根据 httpUploadProgress 的上传位置为元素设置动画?
我已经弄明白了,回答我自己的问题,希望有一天它能对其他人有所帮助。
var pct = Math.round(progress.loaded / progress.total * 100);
$('#percentage').html(pct + '%');
var progressBar = document.getElementsByTagName("progress")[0],
animation = function(){
progressBar.value = (pct);
};
setTimeout(function(){animation();});
if (pct == 100) {
$('#percentage').html('DONE');
}
使用进度 html 元素,我为其分配一个等于变量 'pct' 的值,这是 httpUploadProgress 中完成的数量。我这样做是通过使用动画函数 运行 一次调用 setTimeout.
此外,当 httpUploadProgress 已完成并达到 100 时,我将用 'DONE' 一词替换完成的百分比。
我正在尝试为 ajax 发生的上传创建一个用户可见的进度条。上传正在发送到 s3 存储桶。 这是我将文件发送到存储桶的脚本:
var upload = s3.upload(
{Bucket: 'tgr-video-ingest', Key: rCreds.ObjectKey, Body: file}
);
upload.on('httpUploadProgress', function (progress) {
var pct = Math.round(progress.loaded / progress.total * 100);
$('#progress').html(pct + '%');
});
截至目前,我正在 p 标签中编写进度,但想将其显示在一个像加载进度条一样动画的 html 元素中。有没有办法根据 httpUploadProgress 的上传位置为元素设置动画?
我已经弄明白了,回答我自己的问题,希望有一天它能对其他人有所帮助。
var pct = Math.round(progress.loaded / progress.total * 100);
$('#percentage').html(pct + '%');
var progressBar = document.getElementsByTagName("progress")[0],
animation = function(){
progressBar.value = (pct);
};
setTimeout(function(){animation();});
if (pct == 100) {
$('#percentage').html('DONE');
}
使用进度 html 元素,我为其分配一个等于变量 'pct' 的值,这是 httpUploadProgress 中完成的数量。我这样做是通过使用动画函数 运行 一次调用 setTimeout.
此外,当 httpUploadProgress 已完成并达到 100 时,我将用 'DONE' 一词替换完成的百分比。