我有以下问题:
我目前正在使用一种软件(MicroStrategy,BI),它具有将报告导出为 pdf 的功能,它的工作原理如下:
每个报表都有一个唯一的 ID,因此您选择要导出的报表,并使用 jsp 将此报表的 ID 发送到导出工具,它会生成一个完整的 URL,其中包含 MicroStrategy 服务器将读取以生成 PDF 的一些参数。
我正在尝试捕获此 pdf url 并将其发送到 Java 方法,该方法将将此 pdf 保存在硬盘驱动器中,而不向用户提示任何内容。
我的问题是该 URL 不会立即生成,需要一段时间,并且在此过程中会进行一些重定向。
那么,在所有的闲聊之后,我如何才能捕获那个该死的 URL?
我正在做的是将pdf加载到iframe中,然后使用我找到的js代码提取url,将其分配给JSP变量,然后,一旦我有了pdf url,就调用Java方法。但它不起作用。
JavaScript 函数是这样的:
<script language="text/javascript">
function getSrc()
{
var CurrentUrl = document.getElementById('miframe').contentWindow.location.href;
if(currentUrl.substr(length-5)==".pdf")
{
return currentUrl;
}
else
{
setTimeout(getSrc(),5000);
}
}
</script>
这是我给它的电话:
<% jsp code
String currentUrl="<script>document.writeln(getSrc();)</script>";
more jsp code %>
其余代码实际上很好,使用普通的 pdf URL 进行了尝试,并将 pdf 保存到磁盘中。
希望这是可以理解的,并在此先感谢!