Справка по загрузке файлов в JSP / Struts 1.2 - PullRequest
0 голосов
/ 17 июня 2010

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

Проблема:

В настоящее время у нас есть страница для загрузки файла с локального компьютера в репозиторий. В настоящее время используется загрузка Struts. Теперь текущим требованием является то, что, поскольку пользователи загружают около 1 ГБ файла, они вынуждены долго ждать. Поэтому они изменили требование, чтобы просмотреть файл и выбрать файл для загрузки, и нажав кнопку загрузки, следует вернуться к элементу управления, чтобы следующий экран сразу же. Но процесс загрузки должен быть как-то запрошен на бэкэнде и должен выполнить загрузку и отправить электронное письмо после завершения загрузки.

Я не могу понять, как перенести элемент управления на следующую страницу, когда загрузка еще продолжается ... любая идея или помощь будут оценены.

С уважением, Senny

1 Ответ

0 голосов
/ 17 июня 2010

Вы можете попытаться загрузить файл, используя хитрость, которую AJAX использовал: скрытый iframe.

Теоретически (хотя сам не пробовал) вы можете загрузить свой файл с таргетингом на iframe, что-то похожее на то, что описано в этой статье .

У меня были такие классические запросы от клиентов, которые думают, что браузер может вести себя так же, как любое другое приложение для настольных компьютеров, что не имеет место в 2010 году.

Есть много проблем, которые могут пойти не так. Даже если вы загрузите файл за кулисы, ничто не помешает пользователю отойти от страницы в дальнейшем. Он может загрузить новую страницу, закрыть браузер, закрыть вкладки и т. Д. И испортить загрузку. Вы получите много поврежденных файлов и будете вынуждены ввести много кода JavaScript, чтобы попытаться ограничить действия пользователя, и вы не сможете охватить всю основу.

Это явно проблема удобства использования. Рассматривали ли вы использовать вместо этого индикатор выполнения загрузки? Это дает пользователю что-то симпатичное, а также оценку оставшегося времени. Вы можете найти здесь пример загрузки с индикатором выполнения с помощью Struts.

...