2012-08-05 13 views
6

Używam samouczek do przesłania pliku w mojej aplikacji ramowej gry. Używam dokładnie tego samego kodu, ale dostaję następujący błąd.Scala Zagraj w ramce pliku przesyłania pliku błąd

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

Po to mój kod:

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" 
        ) 
     } 
    } 

siedzę tutaj, proszę o pomoc.

EDIT: Oto mój pełny ślad stosu:

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... 

Odpowiedz

9

Wygląda na to trzeba podać pełną nazwę pliku moveTo

picture.ref.moveTo(new File(
    "/Users/hrishikeshparanjape/Desktop/" + picture.filename)) 
+1

cholera. Jestem taki głupi. Dzięki. (Próbowałem pisać do mojego katalogu na pulpicie (który jest plikiem)) – riship89

Powiązane problemy