Tôi đang sử dụng XMLHttpRequest (với jQuery) để có được tiến trình tải lên của nhiều tệp. Bằng cách thêm trình xử lý sự kiện "tiến trình" vào đối tượng XMLHttpRequest, tôi có thể nhận được event.loaded
và event.total
. Các biến này cho tôi các byte được tải và tổng số của tất cả các tệp được kết hợp.Nhận tiến trình tải lên của các tệp riêng lẻ bằng XMLHttpRequest
Điều tôi muốn làm là lấy tiến trình của từng tệp riêng lẻ, nhưng từ những gì tôi có thể thấy thông tin đó không có sẵn với XMLHttpRequest. Điều đó có đúng không?
Tôi không nghĩ rằng đây là thậm chí cần thiết, nhưng đây là mã của tôi:
var xhr = $.ajaxSettings.xhr();
if (xhr.upload) {
xhr.upload.addEventListener('progress', function(event) {
var percent = 0;
var position = event.loaded || event.position;
var total = event.total;
if (event.lengthComputable) {
percent = Math.ceil(position/total * 100);
}
updateProgressBar(percent);
}, false);
}
return xhr;
Nếu tôi có thể thực hiện điều này với XMLHttpRequest đó sẽ là tuyệt vời. Bất kỳ thông tin về điều này sẽ được đánh giá cao.
Hãy xem này: [Làm thế nào để có được sự tiến bộ từ XMLHttpRequest] (http://stackoverflow.com/questions/76976/how-to-get-progress-from-xmlhttprequest) – Joe
Cảm ơn, nhưng kịch bản của tôi đã làm điều đó. Ý tôi là tôi muốn tiến trình cho từng tệp riêng lẻ, không phải tất cả các tệp dưới dạng một nhóm. – Gavin
Sau đó, chỉ gửi một tệp cho mỗi yêu cầu. –