Я пытаюсь реализовать загрузку файлов с помощью фреймворка scala. Этот код работает очень хорошо в разработке (Windows), но не работает при развертывании (Ubuntu).Воспроизвести файл фрейм-файла без такого исключения файла
def upload = Action(parse.multipartFormData) { request =>
request.body.file("torrentFile").map { picture =>
import java.io.File
val filename = picture.filename
val contentType = picture.contentType
println(filename)
println(contentType)
picture.ref.moveTo(new File("Files/ppp.rdf"))
Ok("File uploaded")
}.getOrElse {
Redirect(routes.Application.index()).flashing(
"error" -> "Missing file")
}
}
Это ошибка я получаю, когда я пытаюсь загрузить файл
play.api.UnexpectedException: Unexpected exception[NoSuchFileException: /tmp/playtemp5801072751187159177/multipartBody5640251320440161134asTemporaryFile -> Files/ppp.rdf]
at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:289) ~[com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:220) ~[com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.api.GlobalSettings$class.onError(GlobalSettings.scala:160) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.core.j.JavaGlobalSettingsAdapter.play$core$j$JavaGlobalSettingsAdapter$$super$onError(JavaGlobalSettingsAdapter.scala:35) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:35) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.core.j.JavaGlobalSettingsAdapter$$anonfun$onError$2.apply(JavaGlobalSettingsAdapter.scala:35) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at scala.Option.getOrElse(Option.scala:121) [org.scala-lang.scala-library-2.11.7.jar:na]
at play.core.j.JavaGlobalSettingsAdapter.onError(JavaGlobalSettingsAdapter.scala:35) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.api.http.GlobalSettingsHttpErrorHandler.onServerError(HttpErrorHandler.scala:100) [com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at play.core.server.netty.PlayRequestHandler$$anonfun$2$$anonfun$apply$1.applyOrElse(PlayRequestHandler.scala:100) [com.typesafe.play.play-netty-server_2.11-2.5.10.jar:2.5.10]
Caused by: java.nio.file.NoSuchFileException: /tmp/playtemp5801072751187159177/multipartBody5640251320440161134asTemporaryFile -> Files/ppp.rdf
at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) ~[na:1.8.0_111]
at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_111]
at sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:457) ~[na:1.8.0_111]
at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262) ~[na:1.8.0_111]
at java.nio.file.Files.move(Files.java:1395) ~[na:1.8.0_111]
at play.api.libs.Files$TemporaryFile.moveTo(Files.scala:102) ~[com.typesafe.play.play_2.11-2.5.10.jar:2.5.10]
at controllers.Upload$$anonfun$upload$1$$anonfun$apply$1.apply(Upload.scala:74) ~[untitled10.untitled10-1.0-sans-externalized.jar:na]
at controllers.Upload$$anonfun$upload$1$$anonfun$apply$1.apply(Upload.scala:68) ~[untitled10.untitled10-1.0-sans-externalized.jar:na]
at scala.Option.map(Option.scala:146) [org.scala-lang.scala-library-2.11.7.jar:na]
at controllers.Upload$$anonfun$upload$1.apply(Upload.scala:68) ~[untitled10.untitled10-1.0-sans-externalized.jar:na]
Приложение создает некоторые файлы и папки при запуске, и это в настоящее время происходит, так что я уверен, что его не Linux прав доступа к файлам в каталог. , когда я перехожу в каталог /tmp
Я не вижу файлы темпа воспроизведения. Я работаю с игрой 2.5 в intellij.
Задание полного пути разрешило проблему. Ура !! – Eyram