# Kompletter Pfad aus "input type=file" auslesen



## chris80 (28. Jun 2011)

Hallo zusammen,
das Problem was ich lösen möchte klingt zunächst recht einfach erweist sich aber doch als ein ziemlich harter Fall. Ich habe in einer HTML-Datei ein input-field vom type "file" um eine art dateiupload zu realisieren. Im Endeffekt soll die ausgewählte Datei als email-Anhang verschickt werden. Das klappt soweit auch wunderbar. allerdings kann ich im datei-upload feld nicht den gesamtem pfad auslesen bekomme immer nur den Dateinamen. Ich habe javascript und JSP zu verfügung um das Problem anzugehen und habe schon diverse Möglichkeiten ausprobiert um an den Pfad zu kommen unter anderem:

```
request.getParameter("datei");
request.getRealPath(request.getParameter("datei");
request.getContextPath();
request.getPathInfo();
request.getPathTranslated();
```
Leider führt keine der Funktionen zum Erfolg.. stattdessen bekomme ich bei der 2.Methode mein Standard-Verzeichniss mit dem Datei-Namen dahinter obwohl die zuvor ausgewählte Datei im root-verzeichniss liegt und auch gar nicht unter ...[Standard-Verzeichniss]/[Dateiname].* zu finden ist

Auch

```
System.out.println ("Current Canonical-Dir : " + file.getCanonicalPath());
```
hilft mir nicht weiter. (wobei "file" die hochzuladene Datei (File-Objekt) ist)

Weiß also jemand wie ich an den Dateipfad komme?


----------



## r.w. (28. Jun 2011)

Mir ist nicht ganz klar, ob Du die Mail zum Server hochladen und von dort aus, 
oder direkt vom Client versenden willst?

Ist jetzt nicht ganz mein Thema, aber Client-seitig kannst Du z.B. aus einem 
Applet heraus nur dann auf lokale Pfade zugreifen, wenn es signiert ist.


----------



## chris80 (28. Jun 2011)

r.w. hat gesagt.:


> Mir ist nicht ganz klar, ob Du die Mail zum Server hochladen und von dort aus,
> oder direkt vom Client versenden willst?



Die Datei wird auf dem Client ausgewählt und auch von dort direkt versendet, das klappt ja auch
wunderbar, mir geht es ja nur darum das ich an den kompletten Pfad komme.



> Ist jetzt nicht ganz mein Thema, aber Client-seitig kannst Du z.B. aus einem
> Applet heraus nur dann auf lokale Pfade zugreifen, wenn es signiert ist.



Du meinst nicht Applet sondern ein Formular? Was meinst du mit signieren?

EDIT: Hat keiner eine Idee zu meinem Problem?


----------



## r.w. (28. Jun 2011)

Eventuell liegt es daran, dass niemand Dein Problem versteht.
Bei mir ist es zumindest so.


```
request.getParameter("datei");
request.getRealPath(request.getParameter("datei");
request.getContextPath();
request.getPathInfo();
request.getPathTranslated();
```


```
System.out.println ("Current Canonical-Dir : " + file.getCanonicalPath());
```

Diese beiden Code-Fragmente lassen mich auf JAVA schließen. 
Du sagst jedoch, dass Du kein Applet benutzt, die Datei 
vom Client aus versendest und dies auch funktioniert. 
Also kommt auch auf Serverseite Java nicht in Frage. ???:L

Vielleicht solltest Du mal genauer erklären was Du vor hast,
und mit welchen Mitteln Du die Datei wohin sendest. Etwas 
mehr Quellcode könnte auch nicht schaden. Interessant wäre
auch, an welcher Stelle Du mit Java arbeitest (nicht Javascript).


----------

