2

基本的に、文字列パラメーターを受け取る REST サービスを提供し、そのパラメーターを使用して別のシステムからファイルを取得し、取得したファイルを応答として返す必要があります。

効果は、ユーザーが pdf またはその他のバイナリ ファイル リンクをクリックし、ブラウザがそのファイルを保存/ダウンロードするように求める場合と同じである必要があります。

いくつかのポイント:

  • ファイルをストリーミングすることは可能ですか(ソースシステムから受信したバイトを送信するため)。つまり、非常に大きなファイルをどのように処理するのでしょうか?
  • ストリーミングにも関連していますが、通常の HttpServletResponse を使用する場合、大きなファイルが完全に読み込まれるまで待つ必要がありますreturn response.build()か?

Apache Wink を使用してこれを行うにはどうすればよいですか?

PS 申し訳ありませんが、これはウィンクの専門家にとっては些細なことかもしれませんが、開発者ガイドについて頭を悩ませ始めたところです。

4

1 に答える 1

3

java.io.Fileメソッドから を返すだけです。お好みでラッピングもできResponseます。Wink がストリーミングを処理します。を呼び出したときにストリーミングが開始されるのresponse.build()ではなく、メソッドが終了したときに開始されます。

正しいダウンロード ダイアログが必要な場合は、適切なContent-Dispositionヘッダーを返す必要があります。ユーザーに Excel のダウンロード ポップアップが表示されるように、JAX-RS で応答ヘッダーを設定する方法を参照してください。

于 2012-06-28T12:23:19.067 に答える