Я решил установить заголовок ответа HTTP и поток для отображения всплывающего окна загрузки в браузере через стандартный сервлет. примечание: я использую Excella, Excel выходной API.
исал код, который генерирует файл Excel, используя REST JAX-RS, и я подтвердил, что созданный файл Excel находится в каталоге сервера GlassFish.
Но моя цель состоит в том, чтобы, когда пользователь нажимал кнопку (которая генерирует Excel .xls), я хотел, чтобы всплывающее окно загрузки отображало вопрос о том, сохранять или открывать файл .xls, как и любые другие веб-службы, выполняющие загрузку файлов любого типа.
Согласно моему поиску, шаг:
создать Excel .xls (СДЕЛАНО)
написать Excel в поток
в файле JAX-RS установите заголовок ответа на что-то вроде:
String fileName = "Blah_Report.xls"; response.setHeader ("Content-Disposition", "attachment; filename =" + fileName);
Мой вопрос заключается в том, что я делаю все это в файле JAX-RS, и у меня нет доступного объекта HttpServletResponse.
Согласно ответу отДобавить заголовок ответа в веб-сервис JAX-RS
Он говорит:
Вы можете вставить ссылку на фактический HttpServletResponse через аннотацию @Context в вашем веб-сервисе и использовать addHeader () и т. Д., Чтобы добавить свой заголовок.
Я не могу понять, что именно это означает без примера кода ..