[Javalist] Spring - Tomcat - File upload 2MByte

László Magyar magyarl05 at gmail.com
2016. Okt. 21., P, 11:12:15 CEST


Hello,

Nem próbáltam meg de ennek adhatnál egy próbát:

@Bean
  public MultipartResolver multipartResolver() {
    CommonsMultipartResolver multipartResolver = new
CommonsMultipartResolver();
    multipartResolver.setMaxUploadSize(1 * 1024 * 1024); // limit: 1 Mbyte
*    multipartResolver.getFileUpload().setFileSizeMax(1 * 1024 * 1024);*
    return multipartResolver;
  }

remélem segített

2016. október 21. 10:52 József Keresztes írta, <xesj.hu at gmail.com>:

> Sziasztok !
>
> 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).
> 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:
>
>   @Bean
>   public MultipartResolver multipartResolver() {
>     CommonsMultipartResolver multipartResolver = new
> CommonsMultipartResolver();
>     multipartResolver.setMaxUploadSize(1 * 1024 * 1024); // limit: 1 Mbyte
>     return multipartResolver;
>   }
>
> Ha a feltöltendő fájlméret ezt meghaladja, akkor
> MaxUploadSizeExceededException keletkezik amit le is kezelek
> a @ControllerAdvice osztályomban:
>
>   @ExceptionHandler(MaxUploadSizeExceededException.class)
>   public String handleMaxUploadSizeExceededException(Exception e) {
>     System.out.println("SAJÁT KEZELŐ: MaxUploadSizeExceededException");
>     //e.printStackTrace();
>     return "redirect:http://www.linux.hu";
>   }
>
> 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
> ahogy szeretném, lefut a saját hibakezelő, és egy redirect-tel átmegyünk
> egy linuxos oldalra.
> 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,
> és utána a böngészőben semmi sem jelenik meg.
> *A böngésző kiteszi a "webhely nem érhető el, ellenőrizze az
> internetkapcsolatot, proxy-t, ..."*
> A firebug-ban nézve a kommunikációt, ekkor a POST kérésre egy "abort"
> látszik, mintha nem lenne válasz...
>
> 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,
> tehát a hiba csak akkor jön *ha feltöltéskor a megengedett limitet és a 2
> Mbyte-os is túllépjük*.
>
> Most már sok órám ezzel ment el, és nem tudok rá megoldást, olvasgattam a
> neten is, de hiába.
> Amiket próbáltam eddig, de egyik sem jött be:
>
> - Tomcat server.xml ben a Connector-nál: maxPostSize="50000000"
> - Tomcat server.xml-ben a Connector-nál: maxPostSize="50000000"
> maxHttpHeaderSize="100000"
> - web.xml-be: <multipart-config> beállítás
> - commons-fileupload, commons-io más verzióit használva
> - Windows helyett MacOS-en futtatva
> - Az @ExceptionHandler egész mást csinál, redirect helyett saját lapra
> dob, vagy egy http 409-es választ ad...
> - Próba kisebb és nagyobb méretű fájlokkal: 3 Mbyte, 250 Mbyte
>
> 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),
> és egy validátor majd ellenőrzni túllépte-e a fájl méret a limitet, amit
> kiír a user-nek.
>
> 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.
>
> Üdv, xesj
>
>
>
>
>
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20161021/1bd6b709/attachment.html>


További információk a(z) Javalist levelezőlistáról