FileUpload/Download Files im Webroot werden gelöscht

Status
Nicht offen für weitere Antworten.

qwertz

Mitglied
Hallo zusammen,

Für ein Project an meiner Hochschule muss ich einen FileUpload- und Download über einen webbrowser realisieren.
Für den file upload und download habe ich jeweils ein Servlet geschrieben.

Mein Problem ist folgendes. Wenn ich in Netbeans mein Project deploye werden alle Daten im Webroot gelöscht und neu geschrieben. Das heißt die files die ich hochgeladen habe sind dann weg.
Wenn ich die files in ein anderes Verzeichnis als das Webroot speichere kann ich nicht darauf zugreifen.

Mir fallen jetzt zwei Lösungen für das Problem ein.

1. Die Daten als BLOB in die Datenbankschreiben -> soll ich aber nicht
2. Die Daten sichern und immer wieder neu ins Webroot schreiben --> halte ich aber nicht für eine gute Lösung.

Wenn mir jemand sagen kann wie ich auf eine anderes Verzeichnis zugreifen kann wäre super.

Ach ja ich benutze Netbeans 5.0 gebundelt mit appserver 8.2


Danke
 
S

SlaterB

Gast
ja wie bestimmtst du denn das Verzeichnis zum speichern/ laden?

mit absoluten Pfaden kannst du anderes angeben,
bei relativen Pfaden benutze ../../other (../ steht für 'ein Verzeichnis höher')
 

qwertz

Mitglied
Funktioniert wenn ich Test.txt nach dem deployen ins webroot kopiere.
out.println("<a href=Test.txt>klick</a>");

Wenn ich Test.txt ein Verzeichnis höher speichere und versuche wie unten darauf zugreifen bekomm ich eine Fehlermeldung das die Datei nicht zu finden ist
out.println("<a href=../Test.txt>klick</a>");

Wenn ich den absoluten Pfad im Link übergebe funktioniert es auch nicht.
C:\Sun\AppServer\domains\domain1\applications\j2ee-apps\onlinecareer\Test.txt
 

NullPointerException

Neues Mitglied
Hi!

Dein Problem stellt sich wie folgt dar: Du speicherst die Dateien innerhalb des Webroot-Verzeichnis und kannst dann von außen direkt drauf zugreifen, also z.B. mittels http://server/webapp/Text.txt. Dein HREF auf "Text.txt" funktioniert dann. Der Hintergrund ist, daß hier von außen zugegriffen wird und nach außen ist nur dein webroot zu sehen.

Du kannst dir helfen, indem du ein Servlet schreibst, welches den Filezugriff regelt. Also wannimmer eine Anfrage nach webroot/... kommt, die nicht zu einer JSP oder einem Servlet paßt, springt das Ersatz-Servlet ein, liest auf dem Request den gesuchten Dateinamen aus und holt genau diese Datei aus einem Verzeichnis außerhalb von Webroot und liefert sie zurück.

Schwierig kann hier aber werden, daß du keinen MIME-Type mitgibst, was die meisten Browser dann dazu veranlaßt, die Datei zu speichern und nicht anzuzeigen. Wenn es sich immer um Text-Dateien handelt, kannst du im Servlet natürlich den MIME-Type auf text/text setzen.

Falls du ein Beispiel brauchst, sag bescheid, ich hab sowas daheim schonmal gecoded.

System.exit(0), NullPointerException
 

qwertz

Mitglied
Hallo NullPointerException,

danke für deine Antwort.
Dein Beispiel würde mir wirklich weiterhelfen allerdings stellt sich mein Problem etwas anders da.
Wie gesagt ich hab jeweils ein Servlet für up- und download geschreiben.
Beim Upload werden meine Dateien standart mäßig in C:\Sun\AppServer\domains\domain1\config gespeichert. Ich kann auch in Verzeichnise darüber navigieren und dort speichern.
Files herunterladen kann ich nur aus: C:\Sun\AppServer\domains\domain1\applications\j2ee-apps\onlinecareer\OnlineCareer-WebModule_war
wenn ich jetzt versuche mittels ../applications\ ..... in dieses Verzeichnis zu speichern bekomm ich immer eine Fehlermeldung.

Ich denke aber das dein SourceCode Beispiel trotzdem mein Problem lösen könnte. Dann muss ich aber noch wissen wie ich die Dateien über den Webbrowser wieder löschen kann.

Das die Files im Webroot beim deployen gelöscht werden kann ich überigens dadurch verhinder das ich im Projekt Ordner anlege und mindestens eine Datei darin speichere.

Schon mal danke im Voraus
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M einfacher FileUpload Allgemeines EE 4
T Jersey: Multipart fileupload Allgemeines EE 1
P JSP Servlets/ Java Klassen für FTP FileUpload (Bilder) + DB Allgemeines EE 3
N fileupload - jakarta.commons.fileupload Allgemeines EE 5
B Fileupload-Servlet Allgemeines EE 2
TRunKX hx:commandExButton DAtei erstellen und dem User zum Download Allgemeines EE 7
K Download Dialog startet nicht Allgemeines EE 2
R Download von Bildern nur zur hälfte Allgemeines EE 2
U File upload, File download und verzeichnis Struktur Allgemeines EE 2
S Struts 1.1 download einer Datei Allgemeines EE 4
B Nochmal Servlet und File, diesmal download. Allgemeines EE 3
L Größen Beschränkung bei download oder String? Allgemeines EE 2
A File Download mit Umlauten in Tomcat/Struts/Suse8 Allgemeines EE 1
S Drools: verarbeiten von mehreren DRL Files Allgemeines EE 0
OnDemand Deployen ohne .java Files Allgemeines EE 0
Y Zugriff auf Files aus einer EAR Anwendung Allgemeines EE 8
G separate log files in JBoss Allgemeines EE 2
I JBOSS Jsp Files Pfad im Servlet? Allgemeines EE 4
G .war Files Allgemeines EE 9
A resource property files Allgemeines EE 5
G Ressourcen in War Files Allgemeines EE 3
J Test-Tools für JSP-Files? Allgemeines EE 9

Ähnliche Java Themen

Neue Themen


Oben