I have one progress bar which increases depending by number of files and their size.
I want to display overall progress bar while upload files on server using AJAX and HTML5.
I upload every file to server and increase progress bar. But I don't know how.
So, the javascript code:
$("#add-files").on("change", function(){
var files = $(this).prop("files");
$.each(files, function(index, file) {
var formData = new FormData();
formData.append("FileName", file.name);
formData.append("FileSize", file.size);
uploadOnServer(formData);
});
});
function uploadOnServer(formData) {
var xmlHttpRequest = new XMLHttpRequest();
if (xmlHttpRequest.upload) {
xmlHttpRequest.upload.addEventListener("progress", function(evt) {
if(evt.lengthComputable) {
var percent = 100 * (evt.loaded / evt.total);
// update progress bar
}
});
}
$.ajax({
url: "test/test",
type: "POST",
data: formData,
processData: false,
xhr: function() { return xmlHttpRequest; },
success: function(result) { ... }
});
}