Tomcat55 fileupload

Peter Stibrany pstibrany na gmail.com
Pátek Leden 2 17:54:32 CET 2009


Dobry den,

myslim, ze ste si sami odpovedali. Ak pouzivate File.renameTo tak toto
nefunguje ak je cielovy subor na inom "mount pointe" (oddiel), ako
cielovy subor. Musite pouzit kopirovanie a nasledne zmazat povodny
subor. Toto je obmedzenie linuxoveho systemoveho volania na premenovanie
suborov.

S pozdravom,
-Peter Stibrany

tomasjurman na email.cz wrote:
> Dobrý den
>
> už několikátý den řeším problém s uploadem obrázků na nově instalovaný Tomcat55 na Linux(CentOS5, Java6Sun).
>
> Uživatel vybere na svém disku soubor a odešle formulář. 
> Soubor se uloží do /tmp na serveru.
> Aplikace si soubor přesune do své složky <catalinaHome>/webapps/knihovna/images
>
> Problém:
> Soubor se uloží do /tmp, ale aplikace soubor nepřesune. Žádná exception. Jen success = false;
> boolean success =myFile.renameTo(destination);
>
> Myslel jsem špatná práva - zkontrolováno
> Myslel jsem na catalina.policy , ale Tomcat se nespoští s policy restrikcí.
> Aplikace na jiných strojích funguje správně, dokonce jsem připravil stejné prostředí OS i Java i Tomcat na zvláštním stroji - naprosto stejné.
> Knihovny Tomcatu jsou přes linky pospojován do /usr/share/tomcat5, myslel jsem tedy, že by mohl být problém v odkazech, do contextu jsem přidal allowLinking="true". 
> Tomcat se spouští jako služba pod uživatelem tomcat.
>
> Rozdíly mezi nefunkční aplikací na vzdáleném stroji a funkční aplikací na testovacím stroji jsou:
> Na vzdáleném stroji je /tmp samostatný oddíl (LVM).
> Funkční aplikaci spouštím na localhostu. 
>
> Děkuji za radu, chápu, že tento typ pproblém se přes email těžko řeší. Ale třeba se někdo s něčím podobným už setkal.
> Přeji mnoho radosti s Javou v novém roce
> Tomáš Jurman
>
>   




Další informace o konferenci Konference