<div dir="ltr"><div><div>Sziasztok !<br><br></div>Ez a megoldás tényleg működik, köszönöm hogy felderítetted, csak nem tudom érdemes-e alkalmazni. <br>Mert ugye ha a file limit 3 MB, ő meg feltölti az 5GB-s filmet, azt is ki kell szépen olvasni az inputstream-ből, hogy csak egyszer hívódjon meg az exceptionhandler, és az történjen amit a handler mond.<br><br></div><div>Egyelőre maradok annál hogy nem állítok be limitet, persze ekkor is feltöltheti az 5GB-t, de legalább nem egy központi exception handler kezeli a dolgot, hanem egy validátor megnézi a MultipartFile.size()-t.<br></div><div>Így még azt is nagyon egyszerű megoldni hogy a feltöltés mező mellett jelenjen meg egy szép piros felirat fájl túl nagy méretére vonatkozóan.<br><br></div><div>Amúgy ez az egész file limit dolog sántít. Ugyanis nem a webalkalmazáshoz kellene beállítani hanem egy-egy file upload mezőhöz. Mert mi van ha egy alkalmazás egyik lapján filmet tölt fel,<br></div><div>a másik lapon meg kisebb fotókat engedünk meg. A limit más és más.<br><br></div><div><br></div><div>Üdv, xesj <br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016. október 22. 20:41 Böszörményi Péter írta, <span dir="ltr">&lt;<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A megfejtes:<br>
<br>
A szerver visszakuld egy HTTP valaszt _mikozben_ a bongeszo meg tolti fol a filet. Ugy tunik emiatt a bongeszo elkuldi a kerest megegyszer. Legalabbis ez latszik a wiresharkbol. Ha handlerben a request objektum inputstreamjet uresre olvasod, akkor mukodik a dolog. Es hogy miert csak egy bizonyos meret felett jon elo? Nem tudom, de az idohoz lehet koze. Legalabbis nekem csak akkor jott elo a problema, ha a handler vart 1 masodpercet.<span class=""><br>
<br>
On 21/10/16 23:56, József Keresztes wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Közben kipróbáltam a legújabb Spring verzióval is a 4.3.3RELEASE -zel, a<br>
hiba ugyanúgy fennáll.<br>
<br>
Inkább azt kérdezem hogy a Ti Spring-es alkalmazásaitokban, nem jön elő<br>
ez a hiba ??? Lehetetlen hogy csak nálam legyen.<br>
<br>
2016. október 21. 23:47 József Keresztes írta, &lt;<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a><br></span>
&lt;mailto:<a href="mailto:xesj.hu@gmail.com" target="_blank">xesj.hu@gmail.com</a>&gt;&gt;:<span class=""><br>
<br>
    Sziasztok !<br>
<br>
    &gt; Honnan szedtél bármekkora file-t? :) Sosem telt meg a memória es/vagy diszk?<br>
    Van a gépemen egy kis gyűjtemény, a legnagyobb amivel kísérletezem<br>
    egy kb. 250 MB méretű zip. Ez nálam a munkahelyemen egy upload<br>
    könyvtár, pont ilyen célokra, azzal is lehet játszani ha magyar<br>
    ékezetesek a fájlnevek, stb.<br>
<br>
    &gt; Ha 3 MB a fajllimit, akkor mi tortenik, ha egy 9 MB-os fajlt probalsz<br>
    meg feltolteni? Es ha egy 6 MB-osat? Foleg a 6 MB-os eseten erdekel,<br>
    hogy akkor is duplan hivodik meg az exception handler?<br>
<br>
    Mindig duplán hívódik, függetlenül hogy 6MB vagy 250MB-t akarok<br>
    feltölteni. Arra gondoltam én is hátha darabokban küldi és a darabok<br>
    egyesével is túl nagyok így mindegyik kiváltja az exception-t, de<br>
    nem így van.<br>
<br>
    Memória és disk sosem telt meg, ilyen gond nem volt.<br>
<br>
    Verziók:<br>
    Tomcat 8.0.9 és Tomcat 8.0.15 verzióval is hibás<br>
    Spring 4.3.1.RELEASE<br>
    commons-io 2.5<br>
    commons-fileupload 1.3.2<br>
<br>
    Ezek közül egyedül a Spring 4.3.1.RELEASE-en nem változtattam, a<br>
    többi változott, de a helyzet ugyanaz maradt. Még az operációs<br>
    rendszer is változott, Windows10 és MacOS alatt is ugyanez a jelenség.<br>
<br>
    Üdv<br>
<br>
    2016. október 21. 18:21 Böszörményi Péter írta,<br></span>
    &lt;<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a> &lt;mailto:<a href="mailto:zmblevlist@gmail.com" target="_blank">zmblevlist@gmail.com</a>&gt;&gt;<wbr>:<div><div class="h5"><br>
<br>
        Csao!<br>
<br>
        Tudnal pontos tomcat, spring, es commons upload verziokat mondani?<br>
<br>
        On 21/10/16 10:52, József Keresztes wrote:<br>
<br>
            Sziasztok !<br>
<br>
            Van egy Spring 4 MVC-s alkalmazásom, ami Tomcat 8-on fut.<br>
            Szeretnék<br>
            benne fájl feltöltést csinálni (commons-fileupload végzi).<br>
            A problémám a fájl méret limitálásával van. A dispatcher<br>
            config-ban be<br>
            van állítva a maximális méret, ami 1 Mbyte:<br>
<br>
              @Bean<br>
              public MultipartResolver multipartResolver() {<br>
                CommonsMultipartResolver multipartResolver = new<br>
            CommonsMultipartResolver();<br>
                multipartResolver.setMaxUpload<wbr>Size(1 * 1024 * 1024); //<br>
            limit: 1 Mbyte<br>
                return multipartResolver;<br>
              }<br>
<br>
            Ha a feltöltendő fájlméret ezt meghaladja, akkor<br>
            MaxUploadSizeExceededException keletkezik amit le is kezelek<br>
            a @ControllerAdvice osztályomban:<br>
<br>
              @ExceptionHandler(MaxUploadSiz<wbr>eExceededException.class)<br>
              public String<br>
            handleMaxUploadSizeExceededExc<wbr>eption(Exception e) {<br>
                System.out.println(&quot;SAJÁT KEZELŐ:<br>
            MaxUploadSizeExceededException<wbr>&quot;);<br>
                //e.printStackTrace();<br>
                return &quot;redirect:<a href="http://www.linux.hu" rel="noreferrer" target="_blank">http://www.linux.hu</a>&quot;<wbr>;<br>
              }<br>
<br>
            Ha a feltöltendő fájlméret meghaladja az 1 Mbyte-ot, de nem<br>
            haladja meg<br>
            a 2MByte-ot, akkor minden úgy történik<br>
            ahogy szeretném, lefut a saját hibakezelő, és egy<br>
            redirect-tel átmegyünk<br>
            egy linuxos oldalra.<br>
            Ha viszont a fájl méret meghaladja a 2 Mbyte-ot, akkor a<br>
            spring 2-szer<br>
            hívja meg a hibakezelőmet (már ez is gyanús), és több<br>
            másodpercet is<br>
            várakozik egy 3 Mbyte-os fájlnál is,<br>
            és utána a böngészőben semmi sem jelenik meg. *A böngésző<br>
            kiteszi a<br>
            &quot;webhely nem érhető el, ellenőrizze az internetkapcsolatot,<br>
            proxy-t, ...&quot;<br>
            *<br>
            A firebug-ban nézve a kommunikációt, ekkor a POST kérésre<br>
            egy &quot;abort&quot;<br>
            látszik, mintha nem lenne válasz...*<br>
            *<br>
<br>
            Ha a fájl limitet a multipartResolver-ben felemelem 500<br>
            Mbyte-ra akkor<br>
            persze működik egy 450 Mbyte-os fájl feltöltés is,<br>
            tehát a hiba csak akkor jön _*ha feltöltéskor a megengedett<br>
            limitet és a<br>
            2 Mbyte-os is túllépjük*_.<br>
<br>
            Most már sok órám ezzel ment el, és nem tudok rá megoldást,<br>
            olvasgattam<br>
            a neten is, de hiába.<br>
            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;<br>
            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>
            - Az @ExceptionHandler egész mást csinál, redirect helyett<br>
            saját lapra<br>
            dob, vagy egy http 409-es választ ad...<br>
            - Próba kisebb és nagyobb méretű fájlokkal: 3 Mbyte, 250 Mbyte<br>
<br>
            Valaki azt írta a neten, de ezt csak az utolsó körben lépném<br>
            meg, hogy ő<br>
            felemeli a fájl feltöltés limitet sok GB-ra, akkor szépen<br>
            megy a fájl<br>
            feltöltés (hacsak ezt is nem lépi túl valaki),<br>
            és egy validátor majd ellenőrzni túllépte-e a fájl méret a<br>
            limitet, amit<br>
            kiír a user-nek.<br>
<br>
            Szóval igazából azt sem tudom ki a ludas ? A Spring, a<br>
            Tomcat, az<br>
            exception-handler ? Ha belefutottatok ebbe, és volt rá megoldás<br>
            megköszönném.<br>
<br>
            Üdv, xesj<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
            ______________________________<wbr>_________________<br>
            Javalist mailing list<br></div></div>
            <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a> &lt;mailto:<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javafor<wbr>um.hu</a>&gt;<br>
            <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mail<wbr>man/listinfo/javalist</a><span class=""><br>
            &lt;<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mai<wbr>lman/listinfo/javalist</a>&gt;<br>
<br>
        ______________________________<wbr>_________________<br>
        Javalist mailing list<br></span>
        <a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a> &lt;mailto:<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javafor<wbr>um.hu</a>&gt;<br>
        <a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mail<wbr>man/listinfo/javalist</a><span class=""><br>
        &lt;<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mai<wbr>lman/listinfo/javalist</a>&gt;<br>
<br>
<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mail<wbr>man/listinfo/javalist</a><br>
<br>
</span></blockquote><div class="HOEnZb"><div class="h5">
______________________________<wbr>_________________<br>
Javalist mailing list<br>
<a href="mailto:Javalist@lists.javaforum.hu" target="_blank">Javalist@lists.javaforum.hu</a><br>
<a href="http://lists.javaforum.hu/mailman/listinfo/javalist" rel="noreferrer" target="_blank">http://lists.javaforum.hu/mail<wbr>man/listinfo/javalist</a><br>
</div></div></blockquote></div><br></div>