当前位置: 首页 > 知识库问答 >
问题:

无法捕获异常(多部分Mime部分文件超过最大文件化)

阳俊德
2023-03-14

我的springboot版本是2.0.2,我在controller类中创建了全局异常,如下所示:

@ExceptionHandler(Exception.class)
@ResponseBody
public Result handleException(Exception e, HttpSession session, HttpServletRequest request) {
    LOGGER.error(e.getMessage());

共有1个答案

程鸿波
2023-03-14

一个解决方案是使用ControllerAdvise。看一下下面的示例:

@ControllerAdvice
public class RestResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {
    @ExceptionHandler(value = {MaxUploadSizeExceededException.class})
    protected ResponseEntity<String> handle(MaxUploadSizeExceededException ex) {
        return ResponseEntity.ok(ex.getMessage());
    }
}

或者,如果您有一个面向视图的控制器,可以让控制器从HandlerExceptionResolver扩展。请看下面的例子:

@Controller
public class MyController implements HandlerExceptionResolver {
    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public ModelAndView someMethod(@RequestParam("file") MultipartFile file) throws Exception{
        return new ModelAndView("success");
    }

    @Override
    public ModelAndView resolveException(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) {
        if (e instanceof MaxUploadSizeExceededException){
            return new ModelAndView("sizeLimitExceeded");
        }
        return new ModelAndView("otherException");
    }
}
 类似资料:
  • 我使用spring boot来开发我的系统,但是当我上传一个超过1MB的文件(使用多部分文件类型)时,我得到了这个例外。有人能给我解释一下吗?谢谢 java.lang.IllegalStateException:多部分Mime部分文件超过了org.eclipse.jetty.util.multipartInputStreamParser$Multipart.write(multipartInput

  • 我正在用Spring Boot 2.1.3(使用标准的Tomcat嵌入式web服务器)开发一个endpoint来上载图像,我想限制多部分上载的大小。我可以通过以下属性轻松完成此操作: 但是我总是得到Spring无法捕获的500,因为Tomcat正在抛出异常并且请求无法到达我在RestController中的代码。 我的ExceptionHandler是这样的,但无论注释中出现什么异常,它显然都不起

  • 我已将最大文件大小设置为 这是我的控制器: 这是一条错误消息 请求过大文件后的最终结果是加载页面问题。我没有得到任何其他错误的堆栈跟踪,所以我有点卡住了什么是实际发生的。哦,是的,我已经尝试了许多其他的解决方案,如注册过滤器,在错误控制器中处理异常。每次我都会以同样的结果服务器崩溃告终。 编辑2 我的异常处理类:

  • 问题内容: 在C#.net中,有一个规定,要有两个不同的类文件,并使用关键字partial关键字使它们成为一个类。这有助于将[UI]和逻辑分开。当然,我们可以有两个类来实现这一类,一个用于UI,另一个用于逻辑。可以在Java中实现吗? 问题答案: 源文件分割 不能。Java源代码不能拆分为多个文件。 摘自Wikipedia文章 Java和C Sharp的比较 Sun Microsystems Ja

  • 问题内容: 我可以将文件作为多部分发送到servlet吗?我正在制作表单并将其作为多部分提交,但是以某种方式我没有收到成功上传它的回复。我不希望刷新页面,因此它必须由ajax进行。 问题答案: 只有使用XHR API(以前称为“ XHR2”或“ XHR Level 2”的一部分,当前称为“ XHR高级功能”)才有可能。 有了这个HTML, 您可以按以下方式上传: XHR将注意适当的头和请求主体编码

  • 有没有办法将文件对象转换为多部分文件?以便我可以将该对象发送到接受接口对象的方法?