Я пытаюсь сделать загрузчик файлов с HTML5 с индикатором прогресса. Вот мой код:XMLHttpRequest upload.onprogress мгновенно завершается
<!DOCTYPE html>
<html>
<head>
<title>Test Progress Meter</title>
<script type="text/javascript">
function submitFile(){
var blobOrFile = document.getElementById("fileInput").files[0];
var xhr = new XMLHttpRequest();
xhr.onload = function(e) {
alert("finished!");
};
xhr.upload.onprogress = function(e) {
if (e.lengthComputable) {
document.getElementById("statusBox").innerHTML = e.loaded + "/" + e.total;
}
};
xhr.open('POST', 'test.php', true);
xhr.send(blobOrFile);
};
</script>
</head>
<body>
<input type="file" id="fileInput" onchange="submitFile();" />
Status: <span id="statusBox"></span>
</body>
</html>
В принципе, на все мои браузеры, когда я выбираю файл для загрузки, срабатывает событие прогресса и сразу же показывает все передачи в комплекте. Затем он сидит там, пока файл фактически загружается, и в зависимости от файла, после нескольких секунд/минут, сценарий предупреждает и показывает правильный ответ с сервера.
Я пропустил что-то очевидное? Насколько я вижу, это происходит во всех моих браузерах (IE10, Chrome 28, FF22).
Есть ли у вас обновления? – abernier
Любое решение? – jamesxiang