【问题标题】:How to show images using Play framework and Scala in the view page如何在视图页面中使用 Play 框架和 Scala 显示图像
【发布时间】:2017-12-24 04:04:43
【问题描述】:

使用 Play 框架,我试图在视图页面中显示图像 friend_request.png

这是我的代码,但图片未显示:

<img src=@("images/friend_request.png") width="28" height="22" />

【问题讨论】:

  • public/images中有图片吗?

标签: scala playframework


【解决方案1】:

我假设您想要包含静态图像,并且由于您在谈论 Scala,因此我假设您使用的是 Play Framework 2。

图像在标准项目布局中的适当位置应为public/images/friend_request.png。 然后您可以参考图像:

<img src="@routes.Assets.at("images/friend_request.png")" width="28" height="22" />

有关资产(缓存时间等)的更多信息,请参阅Play Framework documentation

【讨论】:

  • thanx..for the answr.. 另一个问题是数据库中的图像路径并在视图页面中显示是否可能
  • @user2400597 您想显示存储在数据库中的图像吗?只需创建一个控制器(读取数据并返回它;注意正确的 mime 类型)并为其添加路由。然后再次使用反向路由器嵌入它们(例如@routes.Images.display)。
【解决方案2】:

Skyr's answer 不适用于我的 Play (2.4.2) 版本。使用它会产生以下编译错误:

value at 不是 controllers.ReverseAssets 的成员

咨询documentation后,这对我有用:

<img src="@routes.Assets.versioned("images/yourImage.png")">

yourImage.pngpublic/images 中的位置。


如果您想通过缓存和压缩图像(以及您的网络应用程序的所有其他资产)来加快页面加载速度,请尝试以下操作:

确保您的 plugins.sbt 包含以下条目:

addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.7")
addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-gzip" % "1.0.0")

然后,在您的build.sbt 中添加:

// Apply RequireJS optimizations, create a checksum, and zip each asset
pipelineStages := Seq(rjs, digest, gzip)

【讨论】:

    猜你喜欢
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多