1

状況:ビデオと画像の大規模なセットと、DB にブロブへの参照を格納する小さな Play アプリケーションがあります。Web での使用に問題はありません。Flowplayer を配置するページをレンダリングしています。その構成では、ソース ビデオとして直接ブロブのパスを使用しています。とにかく、他の古いデバイスの追加の可能性を求められました-ヘッダー付きの応答本文でファイルを直接送信する必要があります:

Content-Type:video/mp4
Content-disposition:inline
Content-Transfer-Encoding:binary

当初、このソリューションは PHP スクリプトを使用して行われました。PHP スクリプトは、CURL を使用して BLOB をサーバーにフェッチし、操作されたヘッダーを使用してクライアントに応答として返しました。

質問: Play でその仕事をする最善の方法は何ですか? (ファイルをサーバーにダウンロードしないことが望ましい)。BLOB は公開されるため、元のパスを隠す必要はありません。上記のヘッダーを追加するだけで済みます。

  1. WS.url()ファイルをサーバーにフェッチし、Resultヘッダーを変更して送信するために使用する必要がありますか? これを試しましたが、WSタイムアウトに問題がありました。
  2. とにかくヘッダーを設定しようとしましたがContent-Location:http//mystorage...、とにかく応答本文にファイルが必要であることを理解しました。したがって、ヘッダーのみを使用する他の手法があるかもしれません。
  3. 直接ブロブを返すときにカスタム ヘッダーを強制する方法はありますか (つまり、GET パラメータで設定することによって) ?

たぶん、まったく別のアプローチですか?

4

1 に答える 1

0

アプローチ番号で問題を解決しました。1、ただし のjava.net.URL代わりにを使用するとWS.url()

報奨金の約束は、より良い提案 (特に、サーバーにファイルをダウンロードせずに実行される場合) に対して実際に行われます。

于 2013-02-14T10:22:04.257 に答える