Dav*_*ein 7 upload grails spring-security
我正在使用Grails 2.4.3并且我有一个<g:uploadForm>with方法设置发布,但我没有在我的控制器动作中获得MutlipartRequest.相反,我得到的Servlet3SecurityContextHolderAwareRequestWrapper没有getFile()方法.我已经尝试过投射,我已经尝试从包装器中取出请求request.request,并且我已经尝试了一些其他我已经看到建议给其他类似问题的人,但仍然没有骰子.我确定我错过了一些简单的事情.我倾向于这样做,但如果有人能指出我正确的方向,我会非常感激.
这是我的表格:
<g:uploadForm method="POST" action="uploadSupplemental" >
<div class="modal-header">
<h3 class="modal-title" id="myModalLabel">Upload Supplemental Data File</h3>
</div>
<div class="modal-body">
<label for="fileInput">Choose file to upload:</label>
<input type="file" id="fileInput" name="supplementalData" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<input type="submit" class="btn btn-primary" />
</div>
</g:uploadForm>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器动作:
def uploadSupplemental() {
MultipartRequest multipartRequest = request as MultipartRequest
def file = multipartRequest.getFile('supplementalData')
if (file){
flash.message = "File found!!"
} else {
flash.message = "File NOT found. :-( "
}
redirect action:'list'
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
URI/app/upload/uploadSupplemental类groovy.lang.MissingMethodException消息没有方法签名:org.springframework.security.web.servletapi.HttpServlet3RequestFactory $ Servlet3SecurityContextHolderAwareRequestWrapper.getFile()适用于参数类型:(java.lang.String)values :[supplementalData]可能的解决方案:getXML(),getPart(java.lang.String),getAt(java.lang.String),getAt(java.lang.String),getLocale(),getJSON()
必须设置以下配置属性才能true启用Config.groovy多部分请求。
grails.web.disable.multipart=true
Run Code Online (Sandbox Code Playgroud)
这是一个相关的 JIRA 问题和SO 中报告相同异常的重复问题。
还要确保@Secured在上传操作之前对用户进行身份验证(使用 )。
| 归档时间: |
|
| 查看次数: |
1929 次 |
| 最近记录: |