3

このリストをPlay2テンプレートに渡します。

files: Option[List[(String, reactivemongo.api.gridfs.ReadFile[reactivemongo.bson.BSONValue])]])

リストから最初の画像をプルして、その画像をhtmlタグにレンダリングする方法

<img src=" ">

どんな助けも素晴らしいでしょう:)

ありがとうダニー

4

1 に答える 1

3

リアクティブな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)"/>
  }
}
于 2013-03-11T15:08:39.647 に答える