使用Play 2 / Scala提供本地图像

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

我对如何使用“Ok.sendFile”在单个页面显示本地存储的图像感到困惑.如何将它绑定到视图中的“img src”标签?我能想到的另一个选择是在本地运行(单独的)Web服务器只是为了存储文件,这没有多大意义.

解决方法

只需在提供图像的Controller中添加一个Action:

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">

或者如果您使用Scala模板:

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

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...