微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

scala播放框架文件上传错误

我正在使用 this教程在我的play框架应用程序中上传文件.我使用完全相同的代码,但我得到以下错误.

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

解决方法

看起来您需要为moveto指定完整的文件

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐