我希望我的网页用户能够根据某些输入数据下载文件。此输入数据可能非常大,因此无法通过GET请求。相反,我通过创建一个下载URL作为操作和方法POST的表单来选择POST请求。提交表单后立即下载文件。
这在IE,Edge,Safari和Chrome中运行良好,但在Firefox中,表单所在的页面实际上已被清除。下载仍然有效,但如果需要,用户必须重新加载页面才能进行新的下载。
我可以想象这是依赖于浏览器的,并且可能是正常的行为,因为我们实际上是在触发浏览器加载另一个页面,但我仍然在寻找一种让Firefox像其他浏览器一样行事的方法,例如仅在保留原始页面的同时下载文件。
文件下载URL实际上是一个Java HttpServlet,它将字节写入响应的输出流。响应包含i.m.o.正确的标题: