部署到生产后,在Play Framework中编写/公共目录

时间:2014-02-17 04:50:53

标签: scala playframework playframework-2.2

在使用play dist后的PlayFramework 2.2.x中,我在阅读和写入/public目录时遇到问题。这是一个已知的问题吗?是使用全局路径读/写另一个目录的唯一解决方案吗?

这是我的示例代码:

    val imageDirectory = "images/twitpics/"
    val localPrefix = "/public/"
    val publicPrefix = "/assets/"

    val files = Play.getFile(localPrefix + imageDirectory)
      .listFiles.filter(_.getName.takeRight(3) == "jpg")

    val randomIndex = _rand.nextInt(files.length)
    val imageFile = files(randomIndex)

另外

private val _jsonConfigFile = "/public/data/data.json"
def writeJsonToFile(content: String) = {
    import java.io._

    val pw = new PrintWriter(Play.getFile(_jsonConfigFile))
    pw.write(content)
    pw.close
}

1 个答案:

答案 0 :(得分:0)

dist之后,public /目录被打包到应用程序jar中,该应用程序jar放在类路径中,因此您无法通过文件系统访问它或写入它。