在tomcat7上进行生产时文件上传失败

时间:2013-07-10 21:05:51

标签: java scala playframework playframework-2.0

我正在使用Play 2.1.1和Scala,并有一个控制器来处理文件上传,特别是图像。本地工作完美,但是,我现在使用play2-war-plugin(https://github.com/dlecan/play2-war-plugin)将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"
            )
          }
    }}
}

任何建议都会非常感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

确实看起来像文件位置的网址有问题。如果您没有在本地遇到问题但是在使用Tomcat时遇到了问题,则应确保您正在编写的URL正确无误。你可以使用浏览器访问它吗? 你在哪一行获得IOException?是在var f = new File(s"./p....