2012-08-05 16 views
6

Estoy usando el tutorial this para cargar un archivo en mi aplicación de Play Framework. Estoy usando exactamente el mismo código pero obtengo un error de seguimiento.error de carga de archivo de framework scala play

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

que sigue es mi código:

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

estoy atascado aquí por favor ayuda.

EDIT: Aquí es mi total seguimiento de la pila:

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

Respuesta

9

Parece que es necesario especificar el nombre de archivo completo para moveTo

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

maldita. Soy tan tonto. Gracias. (Estaba intentando escribir en mi directorio de escritorio (que es un archivo)) – riship89