如何以百分比显示我在屏幕上传的进度?我想显示以0%开头的栏和percentComplete
变量的输出百分比。上传完成后,我希望在进度条中看到消息已完成。如果有人可以提供一些例子我会很感激。谢谢。
<div>Select file for upload:
<input type="file" id="fileUpload" name="fileUpload" onChange="fileUpload()"/>
<span id="showBar"></span>
</div>
这是我的JQuery函数:
function fileUpload(){
var reader = new FileReader();
var file = fileExist.files[0];
reader.onload = function(e) {
var text = reader.result.split(/\r\n|\n/);
var myForm = new FormData(document.getElementById('myForm'));
$.ajax({
/*Start-Progress Bar Code*/
xhr: function(){
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt){
if(evt.lengthComputable){
var percentComplete = evt.loaded / evt.total;
percentComplete = parseInt(percentComplete * 100);
console.log(percentComplete);
if(percentComplete === 100){
console.log("Successfully uploaded!");
}
}
},false);
return xhr;
},
/*End*/
type: 'POST',
url: 'FileUpload.cfc?method=uploadFile',
data: new FormData($('#myForm')[0]),
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
dataType: 'json'
}).done(function(obj){
if(obj.STATUS === 200){
$('#myForm')[0].reset();
}else{
alert('Error!');
}
}).fail(function(jqXHR, textStatus, errorThrown){
alert(errorThrown);
})
}
reader.readAsText(file, 'UTF-8');
}