ファイルのアップロードに ajax を使用しています。ファイルがアップロードされた後、php はそれをチェックする必要があります (mime、サイズ、ウイルス (clamscan) など) - 大きなファイルの場合、これには数秒かかります。ファイルのアップロード中に HTML5<progress>
が読み込まれます。ファイルの準備が整い、PHP がチェックを開始すると、進行状況は不確定に切り替わるはずです。これを行う方法を考えました(どちらも機能しません):
upload.onload イベントの確認
xhr.upload.addEventListener("load", function (e) {
$("#uploadprogress").attr("value", false);
$("#uploadprogress").attr("max", false);
$("#progress").text("Checking file...");
});
onload
アップロードの準備ができたときではなく、リクエストの準備ができたときにイベントが発生するため、これは機能しません。
アップロードの進捗率 = 100% かどうかの確認
xhr.upload.addEventListener("progress", function (e) {
if (e.lengthComputable && e) {
p = (e.loaded / e.total);
if (p==1) {
$("#uploadprogress").attr("value", false);
$("#uploadprogress").attr("max", false);
$("#progress").text("Checking file...");
} else {
var percent = Math.ceil(p * 1000) / 10;
$("#uploadprogress").val(e.loaded);
$("#uploadprogress").attr("max", e.total);
$("#progress").text("Uploading... " + percent + "%");
}
}
}
});
これは機能しません。アップロードが完了し、PHP がファイルの処理を開始したにもかかわらず、97%
これをチェックする別の可能性はありますか?