# JSP/Servlet auf Festplatte zugreifen



## Mork0075 (21. Dez 2005)

hallo

kann man mit einer WebAnwendung (JSP/Servlet) auf die Festplatte des User zugreifen nachdem der dies zugelassen hat? Es geht darum eine Datei hochzuladen. Der Benutzer könnte natürlich die Datei per Hand auswähle, es soll aber benutzerfreundlich sein und ihm der Speicherort der Datei gezeigt werden. Er soll dann auswählen ob er diese hochläd oder nicht.

Bei Applets ist es ja so, das diese nicht auf lokale Ressourcen zugreifen können, außer man signiert sie mit Hilfe des SecurityManagers  . . . ??  :bahnhof:  Gibt es da eine möglichkeit? Wie gesagt, der Nutzer kann auch zustimmen etc pp, da es sich im nix verbotenes handelt. Es geht nur darum ihm etwas zu erleichtern.

Habt ihr eine Idee?


----------



## bronks (21. Dez 2005)

Mork0075 hat gesagt.:
			
		

> ... kann man mit einer WebAnwendung (JSP/Servlet) auf die Festplatte des User zugreifen nachdem der dies zugelassen hat? Es geht darum eine Datei hochzuladen. Der Benutzer könnte natürlich die Datei per Hand auswähle, es soll aber benutzerfreundlich sein und ihm der Speicherort der Datei gezeigt werden. Er soll dann auswählen ob er diese hochläd oder nicht ...


Hochladen von Dateien geht ganz unproblematisch mit HttpUpload. Ich hab hier auch mal etwas dazu gefragt und Du wirst mit der Suchfunktion viele Antworten finden.


----------



## Mork0075 (21. Dez 2005)

Ich will keine Datei hochladen, jedenfalls ist das nicht mein Problem. Ich will das meine WebAnwendung einen Teil der ClientFestplatte nach einer bestimmten Datei durchsucht und dann dem User anbietet diese hochzuladen. Und eben ohne das der User explizit die Datei von "Hand" suchen muss.


----------



## Bleiglanz (21. Dez 2005)

einzige Möglichkeit sind signierte Applets - oder ActiveX 

Grund: ein Webserver kann/darf/soll niemals Zugriff auf die Client-Festplatte haben

BTW: das durchsuchen heutiger Festplatten mit 5 Gazillionen Dateien macht die Sache nicht unbedingt "komfortabler"


----------



## Mork0075 (21. Dez 2005)

ActixeX läuft ja dann nur im IE oder? Wie kann man sich das mit den Applets vorstellen (nur nen kurzen Abriss)? Beim durchsuchen geht es um Nutzerdaten die an verschiedenen stellen liegen. Also "Suche default" dann bietet an -> ansonsten lass User manuell auswählen wo es liegt.


----------



## Bleiglanz (21. Dez 2005)

ActiveX kannst du abhaken wenn du verschiedene Browser unterstützen willst...

das mit den Applets würde schon so funktionieren, ist aber nicht
direkt "einfach", und ein "selbst-signiertes" Applet führt immer zu nervigen Warnungen; also brauchst du ein Zertifikat usf usf...



> Ich will das meine WebAnwendung einen Teil der ClientFestplatte nach einer bestimmten Datei durchsucht und dann dem User anbietet diese hochzuladen



IMHO ist das ein reines "nice to have" und nicht wirklich wichtig, wenn du noch nie was mit Applets gemacht hast dann lass das erstmal weg und nimm den HTTPFileUpload

Für die Clients die kein Java haben bringts das eh nicht, ausserdem verkompliziert sich deine ganze Anwendung damit usw. usf.

Und: ich würde es als störend empfinden, wenn jemand aus dem Web meine Festplatte durchsuchen will (aus welchem Grund auch immer)


----------



## Mork0075 (21. Dez 2005)

Sind gute Punkte!!

Wie wäre es dann mit einer Auswahl bzw einer DropDownList. Also zb Standard Speicherort X, Standspeicherort Y und Manuell. Kann der HTTPUpload dann auch mit einer "Vorinitialisierung" als Parameter betrieben werden sobald der User auf Upload drückt (ohne das er selber den Pfad eingeben muss im günstigsten Fall) oder gibts da auch Sicherheitseinstellungen?


----------



## Bleiglanz (21. Dez 2005)

eine javascript select box

und per javascript das gewählte (pfad) ins value des <input type="file"/>

sollte gehen, habs aber noch nie gemacht, ausserdem ein Linux-Windows-Mac Alptraum (wg. unterschiedlicher Pfade)


----------



## Mork0075 (21. Dez 2005)

Gut, das kann man dann unterscheiden und drauf hinweisen. Es geht nur darum dem Standard User (da sind die Dosen nunmal in der Überzahl) es so einfach wie möglich zu machen.


----------

