Hallo,
ich drehe gleich durch. Wir haben seit neuestem den Tomcat6 im Einsatz und dessen Verzeichnisstruktur ist der absolute Irsinn.
Hier mein Problem:
In meiner Anwendung sollen Dateien hochgeladen werden. Diese lege ich in einen Unterordner "uploadedfiles" ab, um dann wieder auf sie zu verlinken.
Meine Position im Baum finde ich per ServletConfig
Als Rückgabe bekomme ich in etwa so etwas:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\24-schwarzesBrett\
Erstmal ist alles gut, die Dateien werden ordentlich gespeichert und auch wieder ausgeliefert. Nach einem Reboot des Tomcats hagelt es dann Fehler. Die abgelegten Dateien sind nicht mehr erreichar. Tomcat hat ein neues Verzeichnis im temp Ordner für die Anwendung aufgemacht zB.
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\22-schwarzesBrett\
ohne das alte Verzeichnis zu synchronisieren. Daher sind alle Uplodas verlohren :bloed:
Wenn ich versuche das temp Verzeichnis zu umgehen (ich mache ein bischen substring() und replace() Geraffel auf die Rückgabe von sc.getRealPath(), bevor ich die FileStreams initialisiere) und die Uploads direkt in
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\schwarzesBrett\uploadedfiles
ablege, werden diese nicht ausgeliefert. Erst nach einem Reboot, werden die Dateien dann in das neu angelegte temp/XX-schwarzesBrett/ Verzeichnis kopiert.
Kann man dieses Verhalten irgendwie ausschalten?
Und ich hab keine andere Möglichkeit die Dateien abzulegen. Ich will Sie in diesem Web haben und hab keine Lust wegen 12 JPGs ein DMS anzudocken oder ähnliches.
Alternativ könnte ich ein IIS Web anlegen, in das ich alle Uploads speichere. Dessen Pfad müsste ich dann aber in irgendeine Konfigdatei auslagern.
Es ist sch****!
Wenn Tomcat schon so eine Versionierung mit diversen Verzeichnissen benötigt, sollten er das vor der Anwendung verstecken.
mfg
magnet
ich drehe gleich durch. Wir haben seit neuestem den Tomcat6 im Einsatz und dessen Verzeichnisstruktur ist der absolute Irsinn.
Hier mein Problem:
In meiner Anwendung sollen Dateien hochgeladen werden. Diese lege ich in einen Unterordner "uploadedfiles" ab, um dann wieder auf sie zu verlinken.
Meine Position im Baum finde ich per ServletConfig
Code:
ServletContext sc = config.getServletContext(); //config = ServletConfig aus "public void init(ServletConfig config)"
String config_path = sc.getRealPath("/");
Als Rückgabe bekomme ich in etwa so etwas:
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\24-schwarzesBrett\
Erstmal ist alles gut, die Dateien werden ordentlich gespeichert und auch wieder ausgeliefert. Nach einem Reboot des Tomcats hagelt es dann Fehler. Die abgelegten Dateien sind nicht mehr erreichar. Tomcat hat ein neues Verzeichnis im temp Ordner für die Anwendung aufgemacht zB.
C:\Program Files\Apache Software Foundation\Tomcat 6.0\temp\22-schwarzesBrett\
ohne das alte Verzeichnis zu synchronisieren. Daher sind alle Uplodas verlohren :bloed:
Wenn ich versuche das temp Verzeichnis zu umgehen (ich mache ein bischen substring() und replace() Geraffel auf die Rückgabe von sc.getRealPath(), bevor ich die FileStreams initialisiere) und die Uploads direkt in
C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\schwarzesBrett\uploadedfiles
ablege, werden diese nicht ausgeliefert. Erst nach einem Reboot, werden die Dateien dann in das neu angelegte temp/XX-schwarzesBrett/ Verzeichnis kopiert.
Kann man dieses Verhalten irgendwie ausschalten?
Und ich hab keine andere Möglichkeit die Dateien abzulegen. Ich will Sie in diesem Web haben und hab keine Lust wegen 12 JPGs ein DMS anzudocken oder ähnliches.
Alternativ könnte ich ein IIS Web anlegen, in das ich alle Uploads speichere. Dessen Pfad müsste ich dann aber in irgendeine Konfigdatei auslagern.
Es ist sch****!
Wenn Tomcat schon so eine Versionierung mit diversen Verzeichnissen benötigt, sollten er das vor der Anwendung verstecken.
mfg
magnet