如何使用Scala保存上传到Play框架的文件?

时间:2015-03-10 10:53:43

标签: forms scala file-upload playframework controller

我有一个用于上传文件的表单,该表单引导了以下Controller Action方法:

object FileUpload extends Controller
{
  def upload() = Action(parse.multipartFormData)
  {
    implicit request =>
    {
      val form = Form(tuple(
                            "description" -> text,
                            "image"       -> ignored(request.body.file("image")).verifying("File missing", _.isDefined)
                      ))

      form.bindFromRequest.fold(
        formWithErrors => { Ok(views.html.files.uploadForm(formWithErrors)) },
        values         =>
        {
          request.body.file("image").map{ imageFile =>
            imageFile.ref.moveTo(new File("tmp/images"))
            Ok("Retrieved file %s" format imageFile.filename)
          }.getOrElse(BadRequest("File missing!"))
        }
      )
    }
  }

制作" tmp / images"目录,当我通过表单提交文件时,我会得到预期的Ok响应。

但是,当我查看" tmp / images"目录,它仍然是空的。

那么,图像在哪里?而且,我该如何保存它?

0 个答案:

没有答案