Опрос сервера загрузки файлов с помощью Progress Bar - PullRequest
4 голосов
/ 18 октября 2011

Это не дубликат тех вопросов, которые задают, как загрузить файл и отобразить индикатор выполнения. Я понимаю основы:

  1. У нас есть форма, которая отправляет указанный входной файл по указанному URL.
  2. Как только нажимается кнопка отправки, мы устанавливаем интервал для запуска метода Javascript каждую секунду, который использует AJAX для опроса сервера для получения статуса этой загрузки.

Единственная дилемма для меня в том, что я попробовал этот метод, но когда я смотрю на консоль FireBug, я вижу все эти вызовы jQuery AJAX. Я видел реализацию других людей, где вы ничего не видите в FireBug> Net> XHR.

У кого-нибудь есть идеи, как это реализовать?

Любой совет будет принят с благодарностью.

Ура, Мош

PS: Просто чтобы подчеркнуть, мне не интересно делать это с Flash.

Ответы [ 4 ]

2 голосов
/ 18 октября 2011

Не так просто, как кажется

Я думаю, что это потребует некоторого программирования на низкоуровневом веб-сервере, потому что файлы обрабатываются (загружаются) до того, как ваш код будет выполнен.Это просто означает, что у вас нет понимания процесса загрузки внутренних файлов веб-сервера для его опроса / расследования ...

Если ваш сценарий на самом деле должен работать как:

  1. выберитефайл
  2. отправить его (который начинает загрузку)
  3. Ajax poll

тогда у вас возникнет несколько проблем здесь:

  • если ваши запросы Ajax должны выполняться с той же страницы, это не будет работать, поскольку страница уже выгружена (форма уже отправляется), это означает, что сценарии, вероятно, будут остановлены.
  • , если у вас естьВаша форма с загрузкой файла в другом iframe и загрузкой опроса с родительской страницы, вам нужно будет реализовать часть кода сервера низкого уровня, чтобы обеспечить то, что я выделил выше.

Клиентплагины со стороны

Вот почему гораздо проще сделать это на стороне клиента, используя плагины, такие как Uploadify , которые также могут использовать Flash для получения информации о ходе загрузки на сервер.

1 голос
/ 18 октября 2011

Возможно, эта страница поможет вам: Плагин jquery ajax uploader с индикатором прогресса .Или вы можете самостоятельно найти альтернативу.

1 голос
/ 18 октября 2011
0 голосов
/ 18 октября 2011

Похоже, на самом деле это несколько вопросов в одном.

  • Одно улучшение, которое я могу предложить, - это использование библиотеки Socket.io , она использует веб-сокеты иоткат к длинному опросу через XHR или через Flash.Это, по крайней мере, обеспечило бы структурированный способ минимизации затрат на опрос.

  • Когда речь идет о «скрытых запросах», они, вероятно, используют метод, отличный от XHR, если вы не видите XHR,они, вероятно, не делают XHR.(Это вроде очевидно)

...