Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Play Framework 2.10中上载文件的路径_Java_Playframework_Routes - Fatal编程技术网

Java 在Play Framework 2.10中上载文件的路径

Java 在Play Framework 2.10中上载文件的路径,java,playframework,routes,Java,Playframework,Routes,我将文件上载到/upload文件夹,然后我想直接访问我的文件,如: http://localhost/upload/xxx.jpg 当我添加路线时,如下所示: GET /upload/*file controllers.Assets.at(path="/upload", file) 它会导致另一个错误: not enough arguments for method at: (path: String, file: String)play.api.mvc.

我将文件上载到
/upload
文件夹,然后我想直接访问我的文件,如:

http://localhost/upload/xxx.jpg
当我添加路线时,如下所示:

GET     /upload/*file               controllers.Assets.at(path="/upload", file)
它会导致另一个错误:

not enough arguments for method at: (path: String, file: String)play.api.mvc.Call. Unspecified value parameter file.

<link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
[MatchError: (stylesheets/,main.css) (of class scala.Tuple2)]

(path: @unchecked, file: @unchecked) match {

有人能帮我走这条路吗?谢谢。

您应该在project/Build.scala中添加此行:

val main=play.Project(appName、appVersion、appDependencies)。设置(
//在此处添加您自己的项目设置

playAssetsDirectoriesfinnal,我从playframework网站上得到了答案,很难找到。。

从本页:

但是,如果为Assets.at action定义两个映射,如下所示:

GET  /javascripts/*file        controllers.Assets.at(path="/public/javascripts", file)
GET  /images/*file             controllers.Assets.at(path="/public/images", file)
然后,在使用反向路由器时,需要指定两个参数:

<script src="@routes.Assets.at("/public/javascripts", "jquery.js")"></script>

<image src="@routes.Assets.at("/public/images", "logo.png")">


但这可能还不能解决我的问题,这似乎是问题中提到的第二个错误

小心,检查
路径
参数,它必须与路由文件中描述的相同。
如下:

当我设定:
GET/public/*file controllers.Assets.at(path=“/public”,file)

在html文件中,我应该写如下:

GET     /upload/*file               controllers.Assets.at(path="/upload", file)
@routes.Assets.at(“/public”,“stylesheets/main.css”)


此外,如果您使用其他文件夹,如/upload,则在
project/Build.scala
play.project
中添加以下代码是必不可少的。谢谢TizianoPiccardi

playAssetsDirectories