gpt4 book ai didi

exception - Grails4-在上传文件时超过文件maxFileSize限制

转载 作者:行者123 更新时间:2023-12-02 15:16:32 25 4
gpt4 key购买 nike

我想捕获此异常,而不是简单地将500退还给最终用户,这至少在我的应用程序中是不好的体验。
目的是使用户返回到表单页面,并提供一些反馈,以便他们再次尝试。

当前的经验是将用户退回500,并将以下内容打印到日志中;

Caused by: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (157552) exceeds the configured maximum (1024)

最佳答案

将@ james-kleeh记为this的开始;

但是,当我扩展StandardServletMultipartResolver实现时(这是默认设置),我只能在Grails 4.0.0.M2上使用此功能。然后maxFileSize限制将继续从config(yaml)中解决。

public class MyMultipartResolver extends StandardServletMultipartResolver {

static final String FILE_SIZE_EXCEEDED_ERROR = "fileSizeExceeded"

public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) {
try {
return super.resolveMultipart(request)
} catch (MaxUploadSizeExceededException e) {
request.setAttribute(FILE_SIZE_EXCEEDED_ERROR, true)
return new DefaultMultipartHttpServletRequest(request, new LinkedMultiValueMap<String, MultipartFile>(), new LinkedHashMap<String, String[]>(), new LinkedHashMap<String, String>());
}
}
}

在resources.groovy中具有以下内容;
// catch exception when max file size is exceeded
multipartResolver(MyMultipartResolver)

随后,您需要在 Controller 中检查 FILE_SIZE_EXCEEDED_ERROR 属性并进行相应处理。

关于exception - Grails4-在上传文件时超过文件maxFileSize限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56662298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com