Предлагает файл "сохранить как" диалоговое окно после отправки формы HTML - PullRequest
1 голос
/ 21 сентября 2010

У меня есть страница JSP, на которой нужно принять некоторую информацию в форму, указав, что форма отправляется на ту же страницу с дополнительным элементом «Спасибо за ______», который размещается только после отправки формы (с использованием проверки параметров).

Однако мне также нужно подать файл на сервер для загрузки, но я не могу связываться с расположением содержимого заголовка для обслуживания файла, поскольку вся страница jsp по-прежнему должна отображаться. Как я могу предложить этот файл, не отправляя форму на другую страницу? Какой трюк JavaScript можно использовать, чтобы открыть новое окно, которое будет делать это? Javascript будет в порядке, но ничего, что блокировщик всплывающих окон не превзойдет ..

Я не могу использовать href для отправки файла - это должно быть сделано автоматически.

Кроме того, если файл (который является PDF-файлом) открывается в новом окне, это тоже хорошо.

1 Ответ

3 голосов
/ 21 сентября 2010

Я делал это раньше.Загрузите свою страницу JSP как обычно, но включите строку Javascript, которая перенаправляет на другую страницу, ответственную за обслуживание файла ...

location.href = 'serveFile.jsp';

Пока serveFile.jsp правильно устанавливает заголовок content-disposition,он просто отображает диалоговое окно сохранения и фактически не меняет страницы.

Как я могу предложить этот файл, не переходя на другую страницу?

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

Примечание: В моей реализации этого методаЯ обнаружил, что после сохранения файла, перехода на другую страницу и нажатия кнопки «Назад» вы снова получите диалоговое окно сохранения.Обойти это невозможно.

...