Java 在tomcat7上生产时文件上载失败

Java 在tomcat7上生产时文件上载失败,java,scala,playframework,playframework-2.0,Java,Scala,Playframework,Playframework 2.0,我在Scala上使用Play2.1.1,有一个控制器来处理文件上传,特别是图像上传。在本地,这非常有效,但是,我现在已经使用Play2WAR插件()将war文件部署到运行ubuntu和tomcat7的服务器上 现在,当我上传一个图像时,我得到了以下异常 [ScalaIOException:MainException:class java.io.IOException(没有这样的 (文件或目录)] 我的控制器是 def addProjectImage(id: Long) = Action(pars

我在Scala上使用Play2.1.1,有一个控制器来处理文件上传,特别是图像上传。在本地,这非常有效,但是,我现在已经使用Play2WAR插件()将war文件部署到运行ubuntu和tomcat7的服务器上

现在,当我上传一个图像时,我得到了以下异常

[ScalaIOException:MainException:class java.io.IOException(没有这样的 (文件或目录)]

我的控制器是

def addProjectImage(id: Long) = Action(parse.multipartFormData) { implicit request =>
    DB.withSession{ implicit session => {
        request.body.file("img").map { picture =>
            import java.io.File
            val filename = picture.filename + ".png"
            val contentType = picture.contentType
            var f = new File(s"./public/upload/project_picture/${filename}")
            picture.ref.moveTo(f)
            Projects.updateImage(id, "/assets/upload/project_picture/"+filename)
            Redirect(routes.Admin.index)
          }.getOrElse {
            Redirect(routes.Application.index).flashing(
              "error" -> "Missing image"
            )
          }
    }}
}
任何建议都将不胜感激


提前谢谢

指向文件位置的url看起来确实有问题。如果您在本地没有遇到问题,但在使用Tomcat时遇到了问题,那么应该确保您正在编写的url是正确的。您可以使用浏览器访问它吗?
你在哪一行收到IOException?是在
var f=new File(s)中吗?“/p…”

谢谢你的回复。是的,错误在那一行。我无法访问该文件,因为它从未上载。我可以访问我在本地测试时上载的文件夹中的文件。要访问这些文件,我只使用“/assets/upload…”。。。。“url,因为在路由中我有
code
GET/assets/*文件控制器.assets.at(path=“/public”,file)
code