不能';不要在grails中不惜任何代价上传文件

不能';不要在grails中不惜任何代价上传文件,grails,Grails,我是圣杯新手。我试了好几次上传一个文件。但失败了。我正在使用Grails2.3.11。在我的config.groovy文件中,我已经包含了 grails.web.disable.multipart=true 我没有在BuildConfig中为文件上传添加任何依赖项。我急需解决这个问题。我在下面给出代码 普惠制代码: <g:uploadForm action="upload" enctype="multipart/form-data" useToken="true">

我是圣杯新手。我试了好几次上传一个文件。但失败了。我正在使用Grails2.3.11。在我的config.groovy文件中,我已经包含了

grails.web.disable.multipart=true
我没有在BuildConfig中为文件上传添加任何依赖项。我急需解决这个问题。我在下面给出代码

普惠制代码:

<g:uploadForm action="upload" enctype="multipart/form-data" useToken="true">
        <fieldset class="form">
            <input type="file" name="file" />
        </fieldset>
        <fieldset class="buttons">
            <g:submitButton name="upload" class="save" value="Upload" />
        </fieldset>
    </g:uploadForm>
我还尝试了以下代码:

MultipartRequest multipartRequest =  request as MultipartRequest
    def file = multipartRequest.getFile('file')
    if (file){
      flash.message = "File found!!"
    } else {
      flash.message = "File NOT found.  :-( "
    }
    redirect action:'list'
但每次我都会犯同样的错误:

groovy.lang.MissingMethodException: No signature of method:
    org.apache.catalina.core.ApplicationHttpRequest.getFile()
    is applicable for argument types: (java.lang.String) values: [file]
    Possible solutions: getXML(), getPart(java.lang.String), 
    getAt(java.lang.String), getAt(java.lang.String), getLocale(), getInfo()

如何解决这个问题?是否有文件上传的完整示例?

您应该在config.groovy中设置
grails.web.disable.multipart=false
。这意味着您希望启用对服务器的多部分请求。在控制器内部:

String content = request.getContentType()
if (content.contains("multipart/form-data") || (request instanceof MultipartHttpServletRequest)) {
    MultipartFile uploadedFile = request.getFile('file')
    if (!uploadedFile) {
        flash.message = "No attachment found for upload!"
    }else{
        flash.message = "File uploaded successfully."
    }
} else {
    flash.message = "Unable to upload file, Bad Request!")
}

您应该在config.groovy中设置
grails.web.disable.multipart=false。这意味着您希望启用对服务器的多部分请求。在控制器内部:

String content = request.getContentType()
if (content.contains("multipart/form-data") || (request instanceof MultipartHttpServletRequest)) {
    MultipartFile uploadedFile = request.getFile('file')
    if (!uploadedFile) {
        flash.message = "No attachment found for upload!"
    }else{
        flash.message = "File uploaded successfully."
    }
} else {
    flash.message = "Unable to upload file, Bad Request!")
}