【发布时间】:2013-10-17 10:55:55
【问题描述】:
我有一个名为 system 的表,它有一些列,主要是数字/字符类型,但有一种二进制类型用于保存文档(word 或 excel 等)
暂时忽略我们是否应该保持文件内联或外部,即 bfile 或 blob...问题更多是关于如何在播放框架中处理它
我已经让表单与模型视图和控制器一起工作......但我设置它没有文件字段只是为了让它工作:
我在模型中有一个案例类
case class System(sys_id: Pk[Long] = NotAssigned
, sys_name: String
, sys_desc: String
, sys_owner1: Long
, sys_owner2: Long)
控制器中的表单
val systemForm = Form(
mapping(
"sys_id" -> ignored(NotAssigned:Pk[Long]),
"sys_name" -> nonEmptyText,
"sys_desc" -> nonEmptyText,
"sys_owner1" -> longNumber,
"sys_owner2" -> longNumber
)(System.apply)(System.unapply)
)
和视图中的表单
@form(routes.Systems.save(), 'class -> "form-horizontal") {
@inputText(systemForm("sys_name"), '_label -> "System Name")
@inputText(systemForm("sys_desc"), '_label -> "Description")
@select(
systemForm("sys_owner1"),
persons,
'_label -> "Primary Owner", '_default -> "-- Choose a person --",
'_showConstraints -> false
)
@select(
systemForm("sys_owner2"),
persons,
'_label -> "Secondary Owner", '_default -> "-- Choose a person --",
'_showConstraints -> false
)
<div class="control-group">
<div class="controls">
<input type="submit" value="Create System" class="btn btn-success"> or
<a href="@routes.Systems.list()" class="btn">Cancel</a>
</div>
</div>
}
这一切都很好......但现在我想添加文件,我该怎么办? 我看过这个http://www.playframework.com/documentation/2.1.2/ScalaFileUpload 但这让我感到困惑,它没有提及是否或如何更改案例类 - 以及存储在什么变量中的文件(如果是的话)以便我可以在我的代码中访问它?
我应该修改我的案例类(如果是,我应该添加什么类型)? 我应该修改控制器中的表单吗(如果是,我应该添加什么类型?)
我不介意我将其存储为内联文件还是作为 bfile - 但我该如何处理它?
谢谢
【问题讨论】:
标签: forms scala file-upload playframework playframework-2.0