【问题标题】:Grails upload file Exception, caused by springsecurityGrails上传文件异常,由springsecurity引起
【发布时间】:2013-01-30 02:04:56
【问题描述】:

我使用 grails 1.3.7 并且有一个奇怪的错误。 这是我上传文件的代码:

def editAvatar = {
            def uploadedAvatar = request.getFile("uploadedAvatar");
    if(!uploadedAvatar?.isEmpty()) {
        clientService.saveUploadedAvatar(uploadedAvatar, basePath);
        render 'avaterUdated';
    } else {
        render(contentType:"text/json", encoding:"UTF-8") {
            [valid:false, error: "some error"]
        }
    }

在开发环境中一切正常,但在生产模式下我有一个例外:

org.codehaus.groovy.runtime.typehandling.GroovyCastException: 
 Cannot cast object 'org.springframework.security.web.firewall.RequestWrapper@1ce4ded'with class 'org.springframework.security.web.firewall.RequestWrapper' to class 'org.springframework.web.multipart.MultipartHttpServletRequest'
at ru.pscb.web.grb.ui.UserProfileController$_closure6.doCall(UserProfileController.groovy:80)

我也试过这段代码:

MultipartHttpServletRequest mpr = (MultipartHttpServletRequest)request;
    def uploadedAvatar = request.getFile("uploadedAvatar");

但这也行不通。

我使用 sprigsecurity-core1.2 和 grails 1.3.7/我无法升级它。

感谢您的回复

【问题讨论】:

    标签: spring grails spring-security


    【解决方案1】:

    谢谢你 - 4 年后,你刚刚救了我。在您的代码中,问题似乎是您将请求转换为MultipartHttpServletRequest,但是您没有将uploadAvatar 设置为此请求的转换版本(mpr)。尝试将最后一行代码更改为:

    def uploadedAvatar = mpr.getFile("uploadedAvatar");
    

    感谢您的帮助!

    【讨论】:

    • 太棒了!谢谢你!
    猜你喜欢
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多