我将此列表传递给 Play2 模板:
files: Option[List[(String, reactivemongo.api.gridfs.ReadFile[reactivemongo.bson.BSONValue])]])
怎么做我从列表中拉出第一张图像并将该图像渲染到 html 标记
<img src=" ">
任何帮助都会很棒:)
谢谢丹尼
我将此列表传递给 Play2 模板:
files: Option[List[(String, reactivemongo.api.gridfs.ReadFile[reactivemongo.bson.BSONValue])]])
怎么做我从列表中拉出第一张图像并将该图像渲染到 html 标记
<img src=" ">
任何帮助都会很棒:)
谢谢丹尼
通过查看响应式 mongo 演示应用程序,您似乎必须添加一条从 gridfs 提供图像的路由。查看路由文件和控制器,该示例显示了如何提供附件。所以你的情况可能是这样的:
在路由文件中:
GET /img/:id controllers.Images.getImg(id)
在Images
控制器中:
def getImg(id: String) = Action {
Async {
import reactivemongo.api.gridfs.Implicits.DefaultReadFileReader
val file = gridFS.find(BSONDocument("_id" -> new BSONObjectID(id)))
serve(gridFS, file)
}
}
然后在您的模板中:
@if(files.isDefined) {
@files.get.map { file =>
<img src="@routes.Images.getImg(file._1)"/>
}
}