【发布时间】:2014-02-28 12:13:45
【问题描述】:
我尝试将数据上传到 grails 应用程序。这非常有效,并且在数据库中创建了对象,并且上传的文档也存在。不幸的是,我在创建后直接收到 404 错误。
我正在使用带有以下代码的 grails 2.3.5:
保存操作:
@Transactional
def save(Book bookInstance) {
if (bookInstance == null) {
notFound()
return
}
if (bookInstance.hasErrors()) {
respond bookInstance.errors, view:'create'
return
}
if(!bookInstance.id){
bookInstance.id = UUID.randomUUID().toString()
}
bookInstance.save flush:true
request.withFormat {
form {
flash.message = message(code: 'default.created.message', args: [message(code: 'Book.label', default: 'Book'), bookInstance.id])
redirect bookInstance
}
'*' {
respond bookInstance, [status: CREATED]
}
}
}
普惠制:
<g:uploadForm action="save" class="form-horizontal">
<g:render template="form"/>
<div class="form-actions margin-top-medium">
<g:submitButton name="create" class="btn btn-primary" value="${message(code: 'default.button.create.label', default: 'Create')}" />
<button class="btn" type="reset"><g:message code="default.button.reset.label" default="Reset" /></button>
</div>
</g:uploadForm>
当使用标签而不是它时,它会起作用。 enctype="multipart/form-data" 导致错误。
我可以尝试什么来解决这个问题?
谢谢
【问题讨论】:
-
从 grails 2.3.x 开始可以使用 request.withFormat (grails.org/doc/2.3.4/ref/Controllers/withFormat.html) 渲染。
标签: grails file-upload