转载

java – Zip下载后的重定向或刷新页面

我在.vm文件中通过href调用servlet(因为我在前端使用velocity framwork)当请求进入servlet时我正在下载文件.用于下载的文件生成大约需要30秒,因此我想通过弹出窗口指示最终用户,为此我在.vm文件中调用了相同href的函数,该函数打开弹出窗口,指示文件当前正在生成请耐心等待.但是当文件生成和下载完成时,我想删除弹出的文件.我通过servlet上的重定向尝试了这一点,但在googled后我发现我们无法在下载后更改响应状态( link

).

我在我的vm文件中调用javascript函数和servlet

<a href="/overriderulehandler?report=1" onClick="return reportResponse()"> Generate Report </a>

overriderulehandler正在调用我的servlet,我正准备下载文件,reportResponse是JS函数,我在其中打开弹出窗口.

请建议我如何完成这项任务.如果有人对此有其他想法,请分享.任何帮助表示赞赏.

这个onClick处理程序适合我.

onclick="setTimeout(function(){window.location.href='test.html'},100)"

您可以将它放在调用servlet的锚标记中,封装的匿名函数可以调用您喜欢的任何其他函数. ‘test.html’可能是一个页面,上面写着“您的文件正在准备中,很快就会下载.

servlet上响应的内容类型应与您推送的文件类型相匹配,以便浏览器知道下载文件而不是尝试打开它.

翻译自:https://stackoverflow.com/questions/24777242/redirection-or-refresh-page-after-zip-download

原文  https://codeday.me/bug/20190111/504449.html
正文到此结束
Loading...