Java Spring Boot 1.5无法在同一页上显示文件上载错误消息
我在网上搜索了很多,试图找到一个可行的解决办法。但是我没有成功,最后我来这里是为了解决问题 我试图上传一个工作正常的文件,但问题是文件大小,或者你可以说是请求大小。当请求大小大于application.properties中的allow或default size时,spring抛出异常,并将重定向到错误页面 我希望错误消息应该显示为验证消息,就像控制器中的其他验证一样 努力:Java Spring Boot 1.5无法在同一页上显示文件上载错误消息,java,spring,spring-mvc,spring-boot,thymeleaf,Java,Spring,Spring Mvc,Spring Boot,Thymeleaf,我在网上搜索了很多,试图找到一个可行的解决办法。但是我没有成功,最后我来这里是为了解决问题 我试图上传一个工作正常的文件,但问题是文件大小,或者你可以说是请求大小。当请求大小大于application.properties中的allow或default size时,spring抛出异常,并将重定向到错误页面 我希望错误消息应该显示为验证消息,就像控制器中的其他验证一样 努力: if (file.isEmpty() && (conf.getPhoto() == null |
if (file.isEmpty() && (conf.getPhoto() == null || conf.getPhoto().trim().equalsIgnoreCase(""))) {
bindingResult.rejectValue("fileUpload", "upload.file.required");
} else if (!file.isEmpty() && !PNG_MIME_TYPE.equalsIgnoreCase(file.getContentType())) {
bindingResult.rejectValue("fileUpload", "upload.invalid.file.type");
}
else if (!file.isEmpty() && file.getSize() > IMG_SIZE_IN_BYTES) {
bindingResult.rejectValue("fileUpload", "upload.exceeded.file.size");
}
如上所述,我正在检查控制器中的大小并显示大小消息,但这仅在请求大小小于定义的请求大小时才起作用。当请求或大小大于application.properties文件中定义的值时
org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceedeException:请求被拒绝,因为其大小(10680249)超过了配置的最大值(2097152)
引发异常,这将请求重定向到/error页。我甚至希望抛出异常,然后错误消息应该显示在与正常错误相同的页面上
是的,我知道我可以增加.properties文件的大小,但这不是正确的解决方案。您似乎没有任何代码来处理Tomcat的文件上载功能引发的异常。如果您不熟悉异常&
try
/catch
关键字,那么我知道我可以创建全局异常处理程序@ControllerAdvice或try/catch块,它将在从控制器抛出的If中工作。第二个异常是由spring筛选器引发的,它没有到达我的控制器。第三,我希望在同一页面上显示消息,而不是在任何异常页面上。看起来您没有任何代码来处理Tomcat的文件上载功能引发的异常。如果您不熟悉异常&try
/catch
关键字,那么我知道我可以创建全局异常处理程序@ControllerAdvice或try/catch块,它将在从控制器抛出的If中工作。第二个异常是由spring筛选器引发的,它没有到达我的控制器。第三,我希望在同一页上显示消息,而不是在任何异常页面上。