相关疑难解决方法(0)

如何处理MaxUploadSizeExceededException

MaxUploadSizeExceededException当我上传大小超过允许的最大值的文件时,会出现异常.我想在出现此异常时显示错误消息(如验证错误消息).如何在Spring 3中处理此异常以执行此类操作?

谢谢.

java forms spring file-upload spring-mvc

28
推荐指数
4
解决办法
4万
查看次数

无法使用Spring MVC将大文件上传到服务器?

我已经阅读了文章"使用Spring MVC和注释配置进行文件上传"(http://www.raistudies.com/spring/spring-mvc/file-upload-spring-mvc-annotation)

我真的从中学到了一些有用的东西,感谢这篇文章!

当我上传一个小文件时,它在Tomcat-8.0.20中工作正常.

但是,当我上传一个大于3M字节的大文件时,MaxUploadSizeExceededException将被"捕获"两次,然后浏览器和服务器之间的 连接将被破坏.浏览器报告ERR_CONNECTION_RESET错误并且没有显示错误信息(或页面),它看起来像某人的电缆连接到我的电脑.

我的系统环境是:JRE1.8 + Tomcat-8.0.20 + WAR_package,我的tomcat是新文件夹中的全新干净tomcat,只有这个WAR.

我试过使用Spring 4.1.4,问题仍然存在.

顺便说一下,文件上传的懒惰模式在我的情况下是不合适的.因此,当需要捕获MaxUploadSizeExceededException时,我需要立即向用户报告结果.这就是我的预期.

如何解决上传大文件导致的"断线"问题?

非常感谢和最诚挚的问候!

    @Controller
    @RequestMapping(value="/FileUploadForm.htm")
    public class UploadFormController implements HandlerExceptionResolver
    {//this is the Exception Handler and Controller class
        @RequestMapping(method=RequestMethod.GET)
    public String showForm(ModelMap model){
        UploadForm form = new UploadForm();
        model.addAttribute("FORM", form);
        return "FileUploadForm";
    }

    @RequestMapping(method=RequestMethod.POST)
    public String processForm(@ModelAttribute(value="FORM") UploadForm form,BindingResult result){
        if(!result.hasErrors()){
            FileOutputStream outputStream = null;
            String filePath = System.getProperty("java.io.tmpdir") + "/" + form.getFile().getOriginalFilename();
            try {
                outputStream = new FileOutputStream(new File(filePath));
                outputStream.write(form.getFile().getFileItem().get());
                outputStream.close();
            } …
Run Code Online (Sandbox Code Playgroud)

java upload tomcat spring-mvc

2
推荐指数
1
解决办法
6833
查看次数

标签 统计

java ×2

spring-mvc ×2

file-upload ×1

forms ×1

spring ×1

tomcat ×1

upload ×1