Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.03.2018, 15:02
Интересующийся
Отправить личное сообщение для dfcz112 Посмотреть профиль Найти все сообщения от dfcz112
 
Регистрация: 30.01.2018
Сообщений: 29

Индикация загрузки
На сервер nodejs отправляется файл через ajax. На клиенте присутствует индикация - полоса выполнения операций. После получения файла сервер должен изменить этот файл дважды.
На стороне сервера я снабдил код метками типа res.write('2'), чтобы на клиенте получать эти метки через (XMLHttpRequest) xhr.onprogress , чтобы по кусочкам прибавлять размер индикатора загрузки. Но, вместо получения этих кусочков с сервера клиент выдаёт всё целиком сразу - типа "2345". Как добиться получения этих кусочков по отдельности?
Ответить с цитированием
  #2 (permalink)  
Старый 27.03.2018, 18:56
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Сообщение от dfcz112
На сервер nodejs отправляется файл через ajax.
Если отправка на сервер - то это
Цитата:
Стадия закачки (upload). На ней данные загружаются на сервер. Эта фаза может быть долгой для POST-запросов. Для отслеживания прогресса на стадии закачки существует объект типа XMLHttpRequestUpload, доступный как xhr.upload и события на нём.
https://learn.javascript.ru/xhr-onprogress
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2018, 20:23
Интересующийся
Отправить личное сообщение для dfcz112 Посмотреть профиль Найти все сообщения от dfcz112
 
Регистрация: 30.01.2018
Сообщений: 29

Индикатор загрузки я уже реализовал. Именно так. Мне другое нужно.
После загрузки идёт другой запрос, и в ходе его выполнения на сервере вызываются res.write('part'); Клиент ловит эти сообщения через xhr.onprogress и соответственно этому отображает полосу загрузки. Но, проблема в том, что в консоли я вижу не по отдельности эти 'part', а все сразу, как будто onprogress обработчика нету, а есть только onload. Я вот об этом спрашиваю
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2018, 21:49
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

dfcz112,
onprogress не получает ответ с сервера - он получает только проценты скачанного

Последний раз редактировалось Dilettante_Pro, 28.03.2018 в 09:53.
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2018, 22:04
Интересующийся
Отправить личное сообщение для dfcz112 Посмотреть профиль Найти все сообщения от dfcz112
 
Регистрация: 30.01.2018
Сообщений: 29

Хорошо. ТОгда что я могу сделать в моём случае?
Ответить с цитированием
  #6 (permalink)  
Старый 28.03.2018, 08:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

dfcz112,
зачем вам вообще это нужно?
Если файл большой и сервер не позволяет его загрузить, тогда такие файлы грузят на север по частям, склеивая его на сервере. Загрузку каждой части производят по положительному ответу о загрузке предыдущей, и общий индикатор загрузки будет определятся этим диалогом.

Еще такой индикатор может потребоваться если данные передаются серверу по частям, когда общее количество полей формы превышает разрешенный сервером размер.

У вас с чего такая необходимость?
Ответить с цитированием
  #7 (permalink)  
Старый 28.03.2018, 15:41
Интересующийся
Отправить личное сообщение для dfcz112 Посмотреть профиль Найти все сообщения от dfcz112
 
Регистрация: 30.01.2018
Сообщений: 29

На сервере после загрузки файла над этим файлом будут выполняться операции. Я хочу чтобы на клиенте была индикация этого процесса, этакий прогрессбар.
Ответить с цитированием
  #8 (permalink)  
Старый 28.03.2018, 15:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от dfcz112
На сервере после загрузки файла над этим файлом будут выполняться операции. Я хочу чтобы на клиенте была индикация этого процесса, этакий прогрессбар.
Операции над файлом возможны только тогда, когда он полностью загружен на сервер, то есть процесс работы над файлом отношения к загрузке его, а значит и к индикатору процесса загрузки, не имеет.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индикация загрузки файла в бд Mracobes9 AJAX и COMET 15 22.05.2017 03:19
Индикация загрузки во время выполнения функции KiZZek Общие вопросы Javascript 2 04.06.2015 16:05
Повернуть изображение после его загрузки (jquery) art_maestro jQuery 0 13.09.2012 21:50
Срабатывание скрипта в разные моменты при загрузки в разных браузерах VitalikPro Javascript под браузер 10 29.12.2011 18:24
XMLHTTP индикация загрузки во время запроса RUVATA AJAX и COMET 6 30.06.2011 10:18