Как получить прогресс при загрузке файла VIA XMLHttpRequest - PullRequest
2 голосов
/ 14 сентября 2011

Мне интересно, как получить прогресс загрузки файла с использованием XMLHTTPRequest.В Firefox метод onprogress не запускается вообще, а в chrome - только после завершения загрузки файла.

function fileUpload(file)
{
    var formData = new FormData();
    formData.append('file', file);

    var xhr = new XMLHttpRequest();
    xhr.onprogress = function(e)
    {
        alert('progress');
    };

    xhr.open('POST', 'post.php', true);

    xhr.send(formData);  // multipart/form-data
}

1 Ответ

7 голосов
/ 14 сентября 2011

Попробуйте xhr.upload.onprogress.В спецификации XMLHttpRequest2 XMLHttpRequest имеет атрибут загрузки.

Возможность регистрироваться для событий прогресса.Как для загрузок (поместите слушателей в сам объект XMLHttpRequest), так и для выгрузки (поместите слушателей в объект XMLHttpRequestUpload, возвращаемый атрибутом загрузки).http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#differences

...