複数の Play アプリで共有される Play モジュールの一部である SVG 画像ファイルのセットがあります。SVG (*咳* IE6) をサポートしない古いブラウザー用に、ブラウザーのユーザー エージェント文字列に基づいて、これらを PNG 形式に変換するコントローラーを作成しました。
これを機能させるには、元の SVG ファイルにアクセスする必要があります。ただし、ファイルはモジュールの/public/images
ディレクトリまたはアプリケーションのディレクトリにある場合があります。Play ルーターは、どちらの場合もシームレスに解決できます (つまり、ファイルがアプリケーションのディレクトリにあるかアプリケーションのディレクトリにある/public/images/foo.svg
かにかかわらず、GET 要求は常に機能します)。そこで、Play のルーター ロジックを利用してファイルを見つけ、その絶対パスを取得し、それを変換ライブラリにフィードしたいと思います。foo.svg
/public/images
/public/images
これは可能ですか?Play のクラスでいくつかのメソッドを試しましRouter
たが、ファイルが見つかりませんでした。おそらく、通常のルーティング ロジックを介してサーバー内である種の内部 GET 要求を作成し、結果をバイト ストリームとして受け取る方法があるでしょうか?
よろしくお願いします。