-2

適切な形式で PDF ファイルを生成する ここで、応答で PDF を保存するように促す方法について質問しました。

ここで、コンテナーのファイル システム (Windows では D:\pdf など) の所定のディレクトリにファイルを保存したいと思います。したがって、ServletOutputStream の代わりに正しく理解できれば、FileOutputStream が必要になります。

したがって、ServletOutputStream への書き込みをバイパスして File IO を使用する必要があると思います。私のアプローチについてどう思いますか?どんなアドバイスでも大歓迎です!

編集:ストリームがどのように機能するかについて少し混乱しました。そして、一般的にサーバーのローカルファイルシステムについて。とにかく、あなたが私に寄り添ってくれて、私の混乱を解消してくれたことに感謝しています

4

3 に答える 3

1

私の知る限り、Web プログラムを介してクライアント ディレクトリを操作することはできません。ここで、ブラウザのセキュリティが重要になります。また、JVM サンドボックスは、アプレットが疑わしいアクティビティを実行することを許可しません。

もう 1 つの方法は、pdf ファイルをどう処理するかをクライアントに決定させることです。そのためには、以下のステップを使用できます。

  1. 応答ヘッダーで Mime タイプを使用して、出力ストリームに PDF を書き込むことをブラウザーに伝えます。
  2. ブラウザーはあなたのバイトを受け入れ、Adobe PDF リーダー (ブラウザーに組み込まれている) などのプラグインを使用して表示しようとします。
  3. ブラウザにプラグインがある場合、ユーザーはこのファイルをどうするか (保存/開くプロンプト) を決定できます。
  4. 次に、ユーザーは PDF ファイルを開く方法を決定できます。

これを行う方法については、この投稿から手がかりを得ることができます。

于 2013-09-05T16:24:29.070 に答える
1

質問を調べてみると、サーブレットの仕組みについて少し混乱していると思います。

サーブレットは、サーバー側の JVM で実行される Java クラスです。Request から取得したものと Response に設定したものは、基礎となる HTTP サーバーと通信する方法です。HTTP サーバーは最終的に Request と Response の属性を使用してテキストを生成し、それをクライアント ブラウザーに送信できます。

したがって、サーブレットで作成するファイル入出力ストリームにより、このサーブレットが実行されているマシンのディレクトリにアクセスできます。ここでは、サーバーで実行されます。したがって、せいぜいファイル入出力ストリームを使用して受信ファイルをサーバーに保存する必要がありますが、サーブレットを使用してクライアントマシンのディレクトリにアクセスする方法はありません。

PSアプレットをブラウザに送信する可能性は考慮していません。

于 2013-09-05T16:40:40.993 に答える