<div dir="ltr"><div><div><div><div>Sziasztok !<br><br></div>Van egy Spring 4 MVC-s alkalmazásom, ami Tomcat 8-on fut. Szeretnék benne fájl feltöltést csinálni (commons-fileupload végzi).<br></div>A problémám a fájl méret limitálásával van. A dispatcher config-ban be van állítva a maximális méret, ami 1 Mbyte:<br><br><span style="font-family:monospace,monospace">  @Bean<br>  public MultipartResolver multipartResolver() {<br>    CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();<br>    multipartResolver.</span><wbr><span style="font-family:monospace,monospace">setMaxUploadSize(1 * 1024 * 1024); // limit: 1 Mbyte<br>    return multipartResolver;<br>  }<br></span><br></div>Ha a feltöltendő fájlméret ezt meghaladja, akkor MaxUploadSizeExceededException keletkezik amit le is kezelek<br></div>a @ControllerAdvice osztályomban:<br><div><br><span style="font-family:monospace,monospace">  @ExceptionHandler(</span><wbr><span style="font-family:monospace,monospace">MaxUploadSizeExceededException</span><wbr><span style="font-family:monospace,monospace">.class)<br>  public String handleMaxUploadSizeExceededExc</span><wbr><span style="font-family:monospace,monospace">eption(Exception e) {<br>    System.out.println(&quot;SAJÁT KEZELŐ: MaxUploadSizeExceededException</span><wbr><span style="font-family:monospace,monospace">&quot;);<br>    //e.printStackTrace();<br>    return &quot;redirect:<a href="http://www.linux.hu" target="_blank">http://www.linux.hu</a>&quot;</span><wbr><span style="font-family:monospace,monospace">;<br>  }<br></span><br></div><div>Ha a feltöltendő fájlméret meghaladja az 1 Mbyte-ot, de nem haladja meg a 2MByte-ot, akkor minden úgy történik<br></div><div>ahogy szeretném, lefut a saját hibakezelő, és egy redirect-tel átmegyünk egy linuxos oldalra.<br></div><div>Ha viszont a fájl méret meghaladja a 2 Mbyte-ot, akkor a spring 2-szer hívja meg a hibakezelőmet (már ez is gyanús), és több másodpercet is várakozik egy 3 Mbyte-os fájlnál is,<br></div><div>és utána a böngészőben semmi sem jelenik meg. <b>A böngésző kiteszi a &quot;webhely nem érhető el, ellenőrizze az internetkapcsolatot, proxy-t, ...&quot;<br></b></div><div>A firebug-ban nézve a kommunikációt, ekkor a POST kérésre egy &quot;abort&quot; látszik, mintha nem lenne válasz...<b><br></b></div><div><br></div><div>Ha a fájl limitet a multipartResolver-ben felemelem 500 Mbyte-ra akkor persze működik egy 450 Mbyte-os fájl feltöltés is,<br></div><div>tehát a hiba csak akkor jön <u><b>ha feltöltéskor a megengedett limitet és a 2 Mbyte-os is túllépjük</b></u>.<br><br></div><div>Most már sok órám ezzel ment el, és nem tudok rá megoldást, olvasgattam a neten is, de hiába.<br></div><div>Amiket próbáltam eddig, de egyik sem jött be:<br><br>- Tomcat server.xml ben a Connector-nál: maxPostSize=&quot;50000000&quot;<br>- Tomcat server.xml-ben  a Connector-nál: maxPostSize=&quot;50000000&quot; maxHttpHeaderSize=&quot;100000&quot;<br>- web.xml-be: &lt;multipart-config&gt; beállítás<br>- commons-fileupload, commons-io más verzióit használva<br>- Windows helyett MacOS-en futtatva<br></div><div>- Az @ExceptionHandler egész mást csinál, redirect helyett saját lapra dob, vagy egy http 409-es választ ad...<br></div><div>- Próba kisebb és nagyobb méretű fájlokkal: 3 Mbyte, 250 Mbyte <br></div><div><br></div><div>Valaki azt írta a neten, de ezt csak az utolsó körben lépném meg, hogy ő felemeli a fájl feltöltés limitet sok GB-ra, akkor szépen megy a fájl feltöltés (hacsak ezt is nem lépi túl valaki),<br></div><div>és egy validátor majd ellenőrzni túllépte-e a fájl méret a limitet, amit kiír a user-nek.<br><br></div><div>Szóval igazából azt sem tudom ki a ludas ? A Spring, a Tomcat, az exception-handler ? Ha belefutottatok ebbe, és volt rá megoldás megköszönném.<br><br></div><div>Üdv, xesj<br></div><div><br><br><br><div><br><br><br></div></div></div>