Ответ 1
Вот несколько версий того, что вы ищете для некоторых общих инструментов JavaScript.
Я хотел бы показать что-то более значимое, что анимированный gif, пока пользователи загружают файл в мое веб-приложение. Какие у меня возможности?
Изменить: я использую .Net, но я не возражаю, если кто-то показывает мне агностическую версию платформы.
Вот несколько версий того, что вы ищете для некоторых общих инструментов JavaScript.
Если вам интересно, как все это работает на клиентском сайте, вот оно:
Все решения подключают форму через javascript и изменяют целевой объект на вновь созданный невидимый IFRAME. Затем они могут использовать AJAX для запроса некоторого статуса файла с сервера.
Трюк IFRAME необходим, потому что все сценарии, запущенные в окне, выполняющем загрузку, будут зависать, пока запрос не будет завершен, и в этот момент файл будет полностью загружен.
Загрузка файла ASP.NET с помощью панели выполнения в реальном времени
http://mattberseth.com/blog/2008/07/aspnet_file_upload_with_realti_1.html
Я пробовал различные методы и имел наибольший успех SWFUpload.
Вы создаете и взаимодействуете с объектом SWFUpload с помощью Javascript, но используете (скрытый) Flash файл для выбора файлов, загрузки и загрузки результатов мониторинга. Вы можете указать широкий диапазон обработчиков событий Javascript (uploadStarted
, uploadProgress
, uploadError
и т.д.), Которые Flash вызволяет во время загрузки, что делает его очень гибким. Он также реализует очередь файлов, поэтому он хорошо работает для одного или нескольких файлов.
Ссылки:
Некоторая хорошая специальная помощь .NET для выполнения индикаторов выполнения может быть найдена в статьях журнала Dino Esposito MSDN за июль и август:
Контекстно-зависимая обратная связь с AJAX (июль '07)
Отмена задач сервера с помощью ASP.NET AJAX (август '07)
Хорошим примером этого без использования Ajax является в CodeProject от Nilesh Thakkar.
jQuery UI Progressbar - http://jqueryui.com/demos/progressbar/