Tôi đang cố gắng tải xuống tệp bằng Ajax và hiển thị thanh tiến trình tải xuống tùy chỉnh.Hiển thị thanh tiến trình để tải xuống tệp bằng XHR2/AJAX
Vấn đề là tôi không thể hiểu cách thực hiện. Tôi đã viết mã để ghi lại tiến trình nhưng không biết cách bắt đầu tải xuống.
LƯU Ý: Các tệp có nhiều loại khác nhau.
Xin cảm ơn trước.
JS
// Downloading of files
filelist.on('click', '.download_link', function(e){
e.preventDefault();
var id = $(this).data('id');
$(this).parent().addClass("download_start");
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
// Handle Download Progress
xhr.addEventListener("progress", function (evt) {
if(evt.lengthComputable) {
var percentComplete = evt.loaded/evt.total;
console.log(percentComplete);
}
}, false);
return xhr;
},
complete: function() {
console.log("Request finished");
}
})
});
HTML và PHP
<li>
<div class="f_icon"><img src="' . $ico_path . '"></div>
<div class="left_wing">
<div class="progressbar"></div>
<a class="download_link" href="#" id="'.$file_id.'"><div class="f_name">' . $full_file_name . '</div></a>
<div class="f_time_size">' . date("M d, Y", $file_upload_time) . ' • ' . human_filesize($file_size) . '</div>
</div>
<div class="right_wing">
<div class="f_delete">
<a class="btn btn-danger" href="#" aria-label="Delete" data-id="'.$file_id.'" data-filename="'.$full_file_name.'"><i class="fa fa-trash-o fa-lg" aria-hidden="true" title="Delete this?"></i>
</a>
</div>
</div>
</li>
How are you gửi tập tin mà bạn đã tải xuống để người sử dụng? –
Nếu bạn hỏi tôi làm cách nào để tải xuống tệp, đó là những gì tôi muốn biết làm cách nào để tải xuống tệp. – Ayan
Có vẻ như bạn đã hỏi cách hiển thị tiến trình, nhưng khi đọc lần hai, đây là phần bổ sung cho quá trình tải xuống. Câu trả lời đơn giản: không sử dụng ajax để tải xuống tệp, sử dụng trình duyệt. 'download' –