Информирование пользователя о том, что файл генерируется в сервлете загрузки. - PullRequest
1 голос
/ 26 января 2011

У меня есть сервлет загрузки, который генерирует ZIP с некоторыми файлами, один из которых довольно большой, а затем отправляет сгенерированный файл в ответ на загрузку.

Проблема в том, что процесс генерации довольно большой, и между этапом генерации de ZIP и этапом загрузки (когда пользователь видит диалоговое окно загрузки) может пройти много секунд или даже минут. Поэтому я хотел бы в любом случае сообщить пользователю, что файл создается.

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

Если кто-то понимает, что я пытаюсь сделать, я хотел бы, если бы существовало лучшее и более чистое решение.

1 Ответ

1 голос
/ 26 января 2011

Вы можете запустить ajax-запрос, который запустит процесс генерации, а затем другие ajax-запросы, чтобы опросить сервер, если файл готов. Если да - измените местоположение браузера на файл. В противном случае покажите «загрузочное» сообщение / изображение /..

...