3

我遇到了包含文件上传和附加输入字段的 Play 2.1.0 表单的问题。我用

def uploadTaxonomy() = Action(parse.multipartFormData) {
    implicit request =>
      request.body.file("xml").map { file =>
        val xml = scala.io.Source.fromFile(file.ref.file).mkString
        taxonomyForm.bindFromRequest().fold(
          formWithErrors => BadRequest(views.html.index(formWithErrors)),
          result => {
            Taxonomies.create(result._1, xml)
            Redirect(routes.Application.index())
          }
        )
      }.getOrElse {
        Redirect(routes.Application.index())
      }
  }

我的表格是这样的:

val taxonomyForm = Form(
  tuple(
    "label" -> text,
    "xml" -> text
  )
)

问题是bindFromRequest()总是失败(导致错误的请求返回给客户端)。

有人知道问题可能出在哪里吗?

注意:我知道2.1.0中存在一个错误,当在上传字段中未选择任何文件时会出现该错误;然而,它似乎并不相关。

4

1 回答 1

2

据我所知,xml不应该是表单定义的一部分,因为您直接从请求正文中获取它。

于 2013-03-05T23:30:15.623 回答