【发布时间】:2016-07-20 03:11:57
【问题描述】:
当我在 localhost 上传图片时,上传没有问题。 但是,当部署在服务器(digitalocean 上的 dokku)上时,服务器返回错误 500 并出现 NoSuchFile 异常。我的错误是什么?
def upload = Action(parse.multipartFormData) { request =>
request.body.file("file").map { picture =>
import java.io.File
val filename = picture.filename
val extension = Files.getFileExtension(filename)
val contentType = picture.contentType
Logger.warn(extension)
val newFileName = s"${UUID.randomUUID}.$extension"
val uniqueFile = new File(s"public/pictures/$newFileName")
picture.ref.moveTo(uniqueFile)
Ok(newFileName)
}.getOrElse {
Ok("error")
}
}
错误日志:
@6oo5djflc - 内部服务器错误,用于 (POST) [/template/uploadLogo]
play.api.UnexpectedException:意外 异常[NoSuchFileException: /tmp/playtemp71801546008559360/multipartBody6913035116351905525asTemporaryFile -> public/pictures/1046fe85-d910-41f4-a52f-53a6f2506d76.png]
【问题讨论】:
-
目标目录是否存在?此外,使用您的公共目录(或应用程序目录中的任何其他目录)来存储上传的文件是一个坏主意。下次部署应用程序的新版本时会发生什么?
-
是的,我将文件上传方法更改为 amazon s3
标签: scala playframework image-uploading dokku