次の質問があります。
私は現在、レポートをpdfにエクスポートする機能を備えたソフトウェア(MicroStrategy、BI)を使用しています。これは次のように機能します。
各レポートには一意の ID があるため、エクスポートするレポートを選択し、jsp を使用してこのレポートの ID をエクスポート ツールに送信すると、MicroStrategy サーバーが読み取って PDF を生成するいくつかのパラメーターを含む完全な URL が生成されます。
私がしようとしているのは、この pdf の URL をキャプチャし、ユーザーに何もプロンプトを表示せずにこの pdf をハード ドライブに保存する Java メソッドに送信することです。
私の問題は、この 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 がディスクに保存されました。
それが理解できることを願っています、そして前もって感謝します!