我正在使用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"
)
}
}}
}
任何建议都会非常感激。
提前致谢。
答案 0 :(得分:0)
确实看起来像文件位置的网址有问题。如果您没有在本地遇到问题但是在使用Tomcat时遇到了问题,则应确保您正在编写的URL正确无误。你可以使用浏览器访问它吗?
你在哪一行获得IOException?是在var f = new File(s"./p....