在执行 POST(而不是 GET)请求时,是否可以让浏览器弹出其 Save As... 对话框?
使用 Spring 框架,我正在尝试构建一个服务,该服务将接收一些数据(二维 json 数组),并生成一个提示用户下载的 Excel 文件。
通过执行 GET 请求,例如通过直接浏览到我的 URL,我可以通过设置类似于此的标题让浏览器显示弹出窗口:
response.setHeader("Content-Disposition", "attachment; filename=" + fileName)
response.setContentType("application/vnd.ms-excel")
我需要允许客户端发布将用于构建 Excel 文件的数据,这意味着一个 POST 请求。返回相同的标题,但没有弹出窗口。
有没有办法实现这一点,或者弹出窗口是否只出现在 GET 请求中?我想我可以做一个两步的过程;1) 允许客户端 POST 数据,并返回某种引用键,2) 允许客户端执行 GET 请求并包含键,并返回相关标头以使浏览器弹出对话框。
关于如何做到这一点的任何其他想法?
谢谢