Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot 1.5无法在同一页上显示文件上载错误消息_Java_Spring_Spring Mvc_Spring Boot_Thymeleaf - Fatal编程技术网

Java Spring Boot 1.5无法在同一页上显示文件上载错误消息

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 |

我在网上搜索了很多,试图找到一个可行的解决办法。但是我没有成功,最后我来这里是为了解决问题

我试图上传一个工作正常的文件,但问题是文件大小,或者你可以说是请求大小。当请求大小大于application.properties中的allow或default size时,spring抛出异常,并将重定向到错误页面

我希望错误消息应该显示为验证消息,就像控制器中的其他验证一样

努力:

    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筛选器引发的,它没有到达我的控制器。第三,我希望在同一页上显示消息,而不是在任何异常页面上。