6

我正在使用教程在我的播放框架应用程序中上传文件。我正在使用完全相同的代码,但出现以下错误。

[IOException: Path(/Users/hrishikeshparanjape/Desktop) exists but replace parameter is false]

以下是我的代码:

def upload = Action(parse.multipartFormData) { request =>
        request.body.file("picture").map { picture =>
            import java.io.File
            val filename = picture.filename 
            val contentType = picture.contentType
            picture.ref.moveTo(new File("/Users/hrishikeshparanjape/Desktop/"))
            Ok("File uploaded")
        }.getOrElse {
            Redirect(routes.Application.index).flashing(
                    "error" -> "Missing file"
                    )
        }
    }

我被困在这里请帮忙。

编辑: 这是我的完整堆栈跟踪:

play.core.ActionInvoker$$anonfun$receive$1$$anon$1: Execution exception [[IOException: Path(/Users/hrishikeshparanjape/Desktop) exists but replace parameter is false]]
    at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:134) [play_2.9.1.jar:2.0.2]
    at play.core.ActionInvoker$$anonfun$receive$1.apply(Invoker.scala:115) [play_2.9.1.jar:2.0.2]
    at akka.actor.Actor$class.apply(Actor.scala:318) [akka-actor.jar:2.0.2]
    at play.core.ActionInvoker.apply(Invoker.scala:113) [play_2.9.1.jar:2.0.2]
    at akka.actor.ActorCell.invoke(ActorCell.scala:626) [akka-actor.jar:2.0.2]
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:197) [akka-actor.jar:2.0.2]
Caused by: java.io.IOException: Path(/Users/hrishikeshparanjape/Desktop) exists but replace parameter is false
    at scalax.file.Path$.fail(Path.scala:168) ~[scala-io-file_2.9.1.jar:0.4.0]
    at scalax.file.Path.moveTo(Path.scala:1089) ~[scala-io-file_2.9.1.jar:0.4.0]
    at play.api.libs.Files$.moveFile(Files.scala:76) ~[play_2.9.1.jar:2.0.2]
    at play.api.libs.Files$TemporaryFile.moveTo(Files.scala:30) ~[play_2.9.1.jar:2.0.2]
    at controllers.Application$$anonfun$upload$1$$anonfun$apply$1.apply(Application.scala:17) ~[classes/:2.0.2]
    at controllers.Application$$anonfun$upload$1$$anonfun$apply$1.apply(Application.scala:13) ~[classes/:2.0.2]
[info] Compiling 1 Scala source to /Users/hrishikeshparanjape/git-public/printit/target/scala-2.9.1/classes...
4

1 回答 1

9

看起来您需要指定完整的文件名moveTo

picture.ref.moveTo(new File(
  "/Users/hrishikeshparanjape/Desktop/" + picture.filename))
于 2012-08-05T07:18:04.123 回答