4

ファイル (画像) をローカルにアップロードして提供するためのパターンを見つけようとしています。アップロードの部分はわかりましたが、ストレージとサーブの部分で少し混乱しました。

「Ok.sendFile」を使用してローカルに保存された画像を単一のページに表示する方法について混乱しています。ビューの「img src」タグにどのように結び付けますか? 私が考えることができる他のオプションは、ファイルを保存するためだけに (別の) Web サーバーをローカルで実行することですが、これはあまり意味がありません。

4

1 に答える 1

9

画像を提供するコントローラーにアクションを追加するだけです。

def picture(name: String) = Action {

   Ok.sendFile(new java.io.File(name)) // the name should contains the image extensions
}

routes次に、対応するルートをファイルに追加します。

GET /picture/:name  controllers.MyPictureController.picture(name: String)

HTML は次のようになります。

<img src="/picture/image.png">

または、Scala テンプレートを使用する場合:

<img src="@routes.controllers.MyPictureController.picture("image.png")">
于 2013-08-09T07:19:32.797 に答える