Firefox,如何提交表格触发文件下载但留在网页

时间:2016-05-10 06:26:58

标签: javascript html http firefox servlets

我希望我的网页用户能够根据某些输入数据下载文件。此输入数据可能非常大,因此无法通过GET请求。相反,我通过创建一个下载URL作为操作和方法POST的表单来选择POST请求。提交表单后立即下载文件。

这在IE,Edge,Safari和Chrome中运行良好,但在Firefox中,表单所在的页面实际上已被清除。下载仍然有效,但如果需要,用户必须重新加载页面才能进行新的下载。

我可以想象这是依赖于浏览器的,并且可能是正常的行为,因为我们实际上是在触发浏览器加载另一个页面,但我仍然在寻找一种让Firefox像其他浏览器一样行事的方法,例如仅在保留原始页面的同时下载文件。

文件下载URL实际上是一个Java HttpServlet,它将字节写入响应的输出流。响应包含i.m.o.正确的标题:

  • 内容 - 处理:"附件;文件名= file.ext"
  • 的Content-Length: " 5352"
  • Content-Type:" application / octet-stream; charset = UTF-8" (也 尝试使用text / plain和text / xml)

1 个答案:

答案 0 :(得分:0)

发布此消息后,我认为向Google描述我的问题的最佳方式是“提交表单并保持同一页面”,这导致我this StackOverflow问题和工作答案。