0

在执行 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 请求并包含键,并返回相关标头以使浏览器弹出对话框。

关于如何做到这一点的任何其他想法?

谢谢

4

1 回答 1

1

这是可能的。我不确定我第一次尝试时做错了什么。

于 2013-08-09T13:45:26.447 回答