0

ユーザー入力に基づいてオンザフライで生成されたファイルを返す方法を見つけようとしています。ユーザーは、各行がファイルであるテーブルの行を選択し、ダウンロード リンクを押します。サーバー (JSP) はデータベースからファイルを取得し、それらをファイルに圧縮します。このファイルは、ブラウザに送り返されてダウンロードされます。

ファイルを返す単純なリンクを介してこれを機能させることができました<a href="?action=testDownload"></a>が、各行にはそれを識別するための約450文字のキーがあります。これらのうち 4 つを超えると、クライアントが使用する IE8 の 2083 文字の URL 制限を破ることになります。

javascript はローカル ファイル システムにアクセスできないため、Ajax ではこれを実行できないことはわかっています。また、ページ全体をリロードしたくありません。他のオプションは何ですか?

ページ全体をリロードせず、ファイルも返す HTTP 投稿を作成できますか?

ありがとう :)

4

2 に答える 2

1

iframe を作成し、フォームを挿入して、このフォームを JavaScript 経由で送信できます。

次の例は、 <iframe> 要素を作成し、jQuery を使用して HTML コンテンツを追加する からの抜粋です。

$('<iframe id="someId"/>').appendTo('#someDiv')
                          .contents().find('body').append(html);

「html」はフォームの html です。

于 2013-04-03T16:38:41.680 に答える