grails中的多部分帖子会导致404错误

时间:2014-02-28 12:13:46

标签: grails file-upload

我尝试将数据上传到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] 
        }
    }
}

GSP:

<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”导致错误。

我可以尝试解决这个问题?

由于

2 个答案:

答案 0 :(得分:2)

您应该检查conf/Config.groovy并检查multipartForm: 'multipart/form-data',是否存在grails.mime.types的值,例如:

grails.mime.types = [
    ...
    form: 'application/x-www-form-urlencoded',
    multipartForm: 'multipart/form-data',
]

您还需要在withFormat声明中指定它是多部分表单:

request.withFormat {
    form multipartForm  

答案 1 :(得分:0)


您可以尝试'渲染'或'前进'而不是“回复”。