【发布时间】:2014-01-19 09:48:44
【问题描述】:
我写了一个纯 javascript ajax 上传器。
在这里您可以看到附加到元素的progress event。如何遍历文件数组,然后为每个数组显示一个进度条?
这是处理进度事件的代码部分:
`request.upload.addEventListener('progress', function(event){ var progress = document.getElementById('progressBar');
if(event.lengthComputable)
{
// get the loaded amount in decimals. For instance: if 50kbs of a 100kbs file is loaded, it equals 0.5
var percent = event.loaded / event.total;
// now fill in the progressBar div with a dynamic percentage change.
if(progress.hasChildNodes())
{
progress.removeChild(progress.firstChild);
}
progress.appendChild(document.createTextNode(Math.round(percent*100)+" %")); // this converts the decimals to a integer number between 0-100 representing the percentage.
}`
这是我的文件数组(我需要为用户选择的每个文件创建一个单独的进度条,因为此上传允许选择多个文件):
var file = document.getElementById('file');
// assigning a new FormData
var data = new FormData();
// now append selected files to the data object
for(var i = 0; i < file.files.length; ++i)
{
// append each file to the data object
data.append('file[]', file.files[i]);
}
【问题讨论】:
-
我已经编辑了帖子。
file[]输入的文件数组
标签: javascript ajax progress