使用Play 2/Scala服务本地图像

使用Play 2/Scala服务本地图像,scala,playframework-2.0,Scala,Playframework 2.0,我正试图找出一种本地上传和服务文件(图像)的模式。我了解了上传部分,但对存储和服务部分有点困惑 我对如何使用“Ok.sendFile”在单个页面上显示本地存储的图像感到困惑。如何将其绑定到视图上的“img src”标记中?我可以想到的另一个选择是在本地运行(单独的)web服务器,仅用于存储文件,这没有多大意义。只需在提供映像的控制器中添加一个操作: def picture(name: String) = Action { Ok.sendFile(new java.io.File(name

我正试图找出一种本地上传和服务文件(图像)的模式。我了解了上传部分,但对存储和服务部分有点困惑


我对如何使用“Ok.sendFile”在单个页面上显示本地存储的图像感到困惑。如何将其绑定到视图上的“img src”标记中?我可以想到的另一个选择是在本地运行(单独的)web服务器,仅用于存储文件,这没有多大意义。

只需在提供映像的控制器中添加一个操作:

def picture(name: String) = Action {

   Ok.sendFile(new java.io.File(name)) // the name should contains the image extensions
}
然后在
路由
文件中添加相应的路由:

GET /picture/:name  controllers.MyPictureController.picture(name: String)
您的HTML应该如下所示:

<img src="/picture/image.png">
<img src="@routes.controllers.MyPictureController.picture("image.png")">

或者,如果您使用Scala模板: