FileUpload problem

Josef Cacek josef.cacek na gmail.com
Středa Září 10 18:15:08 CEST 2008


Ahojte,
  mám problém s uploadem souborů na server. Používám knihovnu Apache
Commons FileUpload, ale nevím zda je chyba tam, nebo někde jinde.
Když velikost uploadovaného souboru přesáhne povolenou hranici
[upload.setSizeMax(int)], fileupload vyhodí vyjímku
SizeLimitExceededException.
A v tomto případě se mi daří do response zapsat pouze určité množství
dat  (odhaduji asi 30kB) a pak se zápis zablokuje a visí na
[SocketOutputStream.socketWrite0(FileDescriptor, byte[], int, int)];

Na tenhle problém jsem narazil, když jsem chtěl informaci o
přešvihnutí velikosti uploadu zobrazit na JSP stránce, a udělal jsem
forward requestu (při redirectnutí to prošlo bez problému). Když byla
daná JSP stránka krátká, všechno hezky fungovalo, ale jak přesáhla
velikost dat zapsaných do response určitou hranici, tak mi to zamrzlo.

Příklad mého problému je v této maličké web aplikaci (jeden servlet i
se zdrojákem, maximální velikost uploadu nastavena na 10kB):
http://www.cacek.cz/javlog/fupload.war

Uvedené chování jsem testoval na:
Win XP, commons-fileupload-1.2.1, commons-io-1.4
Firefox, IE
Java 5 i 6
Jetty 6.1, Tomcat 5.5 a 6.0

Kdybyste někdo věděl/našel, kde je problém a případně jak ho
odstranit, byl bych vám vděčný.

Díky,

-- pepa cacek # http://javlog.cacek.cz/


Další informace o konferenci Konference