【问题标题】:Display image from MongoDB using reactivemongo in Play2 Scala在 Play2 Scala 中使用 reactivemongo 显示来自 MongoDB 的图像
【发布时间】:2013-02-26 19:23:29
【问题描述】:

我正在将此列表传递给 Play2 模板:

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

如何从列表中提取第一张图片并将该图片渲染到 html 标记

<img src=" ">

任何帮助都会很棒:)

谢谢 丹尼

【问题讨论】:

    标签: scala playframework-2.0


    【解决方案1】:

    通过查看响应式 mongo 演示应用程序,您似乎必须添加一条用于从 gridfs 提供图像的路由。查看route filecontroller,该示例显示了如何提供附件。所以你的情况可能是这样的:

    在路由文件中:

    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)"/>
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      相关资源
      最近更新 更多