假设我的服务器上有一个文件夹。我希望能够使用Play 2.1从URL访问此文件夹。 我真的不知道我是如何在互联网上搜索过的,但无济于事。
这是一个文件夹,其中有我想要访问的文件: /家庭/用户/ MYFILES
当我输入以下网址时,我想要这样 本地主机:9000 / filesOnServer /文件名 我在myFiles文件夹中下载名为“filename”的文件。
这不是我想要做的事情:
GET /filesOnServer/*file controllers.Assets.at(path="/anything", file)
确实,这样我只能访问play应用程序目录中的文件。 此外,如果我使用dist,则文件存储在.jar中,我们无法再向应用程序添加文件。
感谢您的帮助。
答案 0 :(得分:0)
您使用的是scala还是java?
我认为你应该寻找Play.getFile()
和SimpleResult()
以下是scala中一个小的Controller方法的示例,它可能不是最有效但似乎有用!
def getFile() = Action {
val file = Play.getFile("../../Images/img.png")(Play.current)
val fileContent = Enumerator.fromFile(file)
SimpleResult(
header = ResponseHeader(200, Map(
CONTENT_LENGTH -> file.length.toString,
CONTENT_TYPE -> "image/png",
CONTENT_DISPOSITION -> s"attachment; filename=${file.getName}")),
body = fileContent)
}
希望它会对你有所帮助!
注意:您也可以使用new java.io.File(absolutePath)