我遇到了一个包含文件上传和附加输入字段的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()
总是失败(导致错误的请求返回给客户端)。
有人知道问题可能在哪里吗?
注意:我知道在上传字段中没有选择任何文件时会显示bug in 2.1.0;然而,这似乎并不相关。
答案 0 :(得分:2)
据我所知,xml
不应该是表单定义的一部分,因为你直接从请求体中获取它。