如何在JAX-RS中设置响应标头,以便用户看到Excel的下载弹出窗口?
2022-08-31 20:27:10
我编写了使用REST JAX-RS生成Excel文件的代码,并确认生成的Excel文件位于GlassFish服务器目录中。
但我的目标是当用户单击按钮(生成Excel.xls)时,我希望显示下载弹出窗口,询问用户是否保存或打开.xls文件,就像任何其他Web服务下载任何类型的文件一样。
根据我的搜索,步骤是:
生成 Excel .xls (DONE)
将 Excel 写入流
-
在 JAX-RS 文件中,将响应标头设置为类似
字符串文件名 = “Blah_Report.xls”;response.setHeader(“Content-Disposition”, “attachment;文件名=“ + 文件名);
我的问题是我在JAX-RS文件中完成所有这些工作,我没有可用的HttpServletResponse对象。
根据将响应标头添加到 JAX-RS Web 服务中的答案
他说:
您可以通过web服务中的@Context注释注入对实际HttpServletResponse的引用,并使用addHeader()等添加标头。
如果没有示例代码,我无法真正弄清楚这到底意味着什么。