为iPad实施下载servlet

时间:2019-03-27 13:36:12

标签: javascript java servlets download anchor

我已经按照规定使用Java实现了一个下载器servlet:

Implementing a simple file download servlet

要求是,在浏览器端,应自动下载文件,而不能由任何锚定单击触发。在ajax响应中,我打电话

document.location = "downloadServlet?fileId=foo"

问题是,它适用于所有台式机浏览器,Android移动设备。 但是,如果设备是iPad平板电脑,则chrome和safari都不会下载该文件,例如,如果该文件是文本文件,则内容将被转储到页面中,而我的工作页面也会丢失。如何强制下载文件而不显示内容?例如,即使尝试使用zip文件,平板电脑的浏览器也会显示不同的页面并破坏工作页面。我想要的是浏览器下载它,就像对所有类型的文件执行SaveAs一样。

由于document.location更改了iPad上的整个页面,因此将其更改为锚点,但是由于它应该自动触发,因此我通过

触发了click事件。
<a href="downloadServlet?.." target="_blank" rel="noopener" id="downloadAnchor" />

document.getElementById("downloadAnchor").click()

但是随后,弹出窗口阻止程序阻止了click事件。

0 个答案:

没有答案