Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Обработка события отмены выгрузки файла


Автор: 0510 9.7.2013, 15:32
Есть html форма.
На форме есть кнопка «Выгрузить»
По кнопке «выгрузить» происходит выгрузка данных в некий файл + запись в базу данных по выгрузки
Обработкой занимается сервлет

В коде сервлета написано:
response.setHeader("Content-Disposition", "attachment; filename=\""+fileName+"\";");

Благодаря этому коду, появляется окошко браузера, где спрашивают что собственно делать с файлом «Открыть», «Сохранить» или «Отменить»
Так вот необходимо чтобы по кнопке «Отменить», не происходила не только выгрузка в файл, но и вообще отменялись какие либо действия , в моем случае - обработка выгрузки в БД.
Т.е. надо как-то отловить событие отмены.

Кто-то сталкивался с данной проблемой?

Автор: danilych 9.7.2013, 15:46
Я бы сделал так. С помощью аякса сделал запрос на сервер. Сервер сформировал файл и сохранил его на диск, путь к файлу сохранил в сессию пользователя (файл пока не отдается клиенту, а лежит на сервере и ждет дальнейшей работы с ним). Вместо окошка, которое показывает браузер сохранить, отмена, открыть - показывал бы свое окошко и далее уже по выбранной операции делал необходимое - по отмене - послал бы запрос на сервер, чтобы удалить файл, по кнопке сохранить - запрашивал бы сам файл, проблема только с кнопкой Открыть. Но как вариант можно ее вообще убрать. 

ps
может пригодиться http://www.filamentgroup.com/lab/jquery_plugin_for_requesting_ajax_like_file_downloads/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)