0

ページに大きな PDF ファイルを生成するフォームがあります (最大 20 秒かかります)。ダウンロード ファイルの作成中にスロバーを表示し、ダウンロード プロンプトが表示されたときにそれを非表示にする方法はありますか?

最初はプログレッシブ表示を使用できると思っていましたが、それはその目的ではないと考えました。

「ダウンロード」ボタンがクリックされたときにスロバーを表示するようにトリガーするJS関数を添付できると考えましたが、ダウンロードウィンドウが表示されたときにそれを非表示にする方法がよくわかりません.

タペストリーでこれを行う方法はありますか?

4

2 に答える 2

1

PDF といくつかの json を含む単一の応答を返すことができないという点で、HTTP には制限があります。

あなたができることは次のとおりです。

  1. フォームを送信します (ゾーン パラメータを含む)
  2. PDF を生成する非同期ジョブを開始する
  3. 送信からすぐに戻る (PDF が生成される前)
  4. 完了するまでジョブをポーリングする JavaScript を開始します。
  5. ジョブが完了したら、JavaScript を使用して PDF をダウンロードします ( document.location.href = /path/to/pdf)

非同期タスクのポーリングの例については、 progresslinkを参照してください。PDF を非同期タスクのどこかに保存する必要があります (つまり、セッション、データベース、またはファイル システム)。

于 2014-02-13T13:52:08.327 に答える