прогресс загрузки файла в JavaScript - PullRequest
1 голос
/ 22 февраля 2011

Я работаю над функцией javascript, которая загружает файл с использованием XMLHttpRequest и присваивает значение переменной. Меня попросили предоставить информацию о состоянии процесса загрузки (например,% загрузки).

Я рассчитал процент загруженных файлов с помощью getResponseHeader («Content-Length») (который представляет собой объем загруженных данных) и общий размер загружаемого файла (он всегда постоянен). Это работает в FF и Chrome, но не в IE (аааа !!).

Мне известно, что IE не предоставляет getResponseHeader ("Content-Length"), пока readyState = 3, поэтому я искал альтернативы.

Кто-нибудь нашел решение для этого?

Мне пришла в голову идея опроса запроса на загрузку со вторым запросом ajax на сервер. Я не уверен, как это будет возможно, учитывая, что HTTP-запросы не сохраняют состояние и отправка второго запроса будет рассматриваться приложением как новый вызов.
Я не хочу идти в направлении сохранения какой-либо переменной на сервере и чтения ее.

Любые предложения будут высоко оценены.

1 Ответ

0 голосов
/ 14 февраля 2013

Вы можете использовать это: (coffeescript)

xhr.onprogress = (e) ->
    # show progress and size of file.
    console.log "#{Math.round(e.loaded/e.total)*100}% completed"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...