2010-12-28 24 views
1

Ich arbeite an einem Problem, bei dem ich einen Upload-Ordner im Tomcat-Basisverzeichnis erstellen muss, damit meine Upload-Dateien dort nicht im Webapps-Ordner abgelegt werden können.Zugriff auf den Tomcat-Verzeichnispfad

Ich möchte später auf diesen Ordner in meiner Webanwendung zugreifen, um die hochgeladenen Dateien zu erhalten. obwohl ich Erfolg habe den Code unten mit

File dir = new File(System.getProperty("catalina.base"), "uploads"); 

aber sein gibt mir Pfad wie G: \ Programme \ Tomcat 6.0 \ uploads aus dem ich auf die Dateien zugreifen kann, aber ich mag den Pfad so etwas wie diese

http//localhost:// path to my upload folders 

Ich versuchte verschiedene Möglichkeiten, um dies zu erreichen, aber nichts hat funktioniert. i wurde um diese zu spielen, aber es did't

arbeitet
ServletActionContext.getServletContext().getRealPath() 

kann mir jemand eine Idee, wie ich das tun kann? mit einem Alias ​​und das virtuelle Verzeichnis

Vielen Dank im Voraus

Antwort

7

Fügen Sie Folgendes /conf/server.xml von Tomcat:

<Context docBase="G:\Program Files\Tomcat 6.0\uploads" path="/uploads" /> 

Es wird von http://localhost/uploads

+0

bedeutet dies viel hilfreich zur Verfügung stehen wird, dass dies ein harter codiert werden Ort, der zur Laufzeit nicht geändert werden kann –

+0

@umesh awasthi, das ist die richtige Lösung, wenn Sie nicht Apache verwenden möchten. Auch egal, was Sie verwenden, müssen Sie den Speicherort fest codieren, wenn Sie es mit einem Servlet tun –

+0

@Teja: stimme zu, ich werde Apache in Zukunft nicht jetzt verwenden und als etwas denken kann, aber jetzt scheint es die beste Lösung –

0

Es sollte in der Regel die Aufgabe Ihres Apache-Server sein. Wenn Sie Ihre Anwendung verwenden möchten, müssen Sie ein eigenes Servlet erstellen und den Pfad der Datei abrufen und die Datei öffnen und über das Servlet streamen.

+1

jedes Dokument oder einen Link in dieser Hinsicht –

Verwandte Themen