0

ウィンドウのボタンを使用して、グリッドからファイルをダウンロードする必要があります。フィルタ パラメータを送信するために、store.load を使用しますが、ファイルをダウンロードするのではなく、読み取ろうとします。解決策はありますか?

store.load({
 params: {
  startExel: parseInt(Ext.getCmp('startE').getValue())
 }
});

startExel は、Excel ファイルをダウンロードすることを示すための追加パラメーターです。

4

2 に答える 2

1

単純な構成変更でこれを行うことは不可能だと思います。ストアは AJAX 呼び出しを介して読み込まれるためです。

ここにあなたのためのアイデアがあります:

  1. JSONストア読み込みリクエストへのレスポンスとして、ファイルのダウンロード URL を持つオブジェクトを返します。実際のファイルの内容ではありません。

    { success = false, url='...'}

  2. クライアント側でストアの読み込みエラーを処理し、返された URL を特定して抽出します。リーダーの設定を少し調整する必要があるかもしれません。

  3. window.open(url)ファイルのダウンロードを開始するために呼び出します。

SOからのこの質問を参照してください。

于 2012-06-28T14:16:12.460 に答える
0

サーバー側でファイルを返すときに、次のヘッダーを含めます。

Content-disposition: attachment
于 2012-06-28T10:34:44.800 に答える