Direkter Download einer Datei aus JEE5-Anwendung

mcdroemmel

Mitglied
Hallo Kollegens,

ich erzeuge mit einer Bean eine Datei. Diese möchte ich jetzt direkt (mit parametrisiertem Pfad+Dateinamen) auf den Client downloaden.
Ich habe von Thomas schon das kleine Demo-Servlet zum downloaden von Dateien getestet. Geht schon grundsätzlich in die richtige Richtung. Aber dann bekomm ich eben vom Browser das Popup wo die Datei gespeichert werden soll. Damit soll der User aber alles gar nicht konfrontiert werden, da anschliessend eine Anwendung gestartet wird, die die Datei verwenden soll. Das alles eben ohne Benutzer-Intervention.

Hat jemand dazu vielleicht noch ein paar tolle Ideen?

Vielen Dank + Gruß
McD
 
Hui, das wär ja noch schöner, wenn Dateien ohne Benutzerinteraktion downgeloadet und gestartet werden könnten... was hast Du denn genau vor? Eigentlich muss der Benutzer doch im Download-Fenster nur einmal auf "öffnen" klicken, oder?
 
Hi,

das Ganze wird für eine firmeninterne Anwendung benötigt. Also geht nicht nach draußen ins Web. Wir erhalten Auftrags- und Planungsdaten aus unserem Planungssystem von unseren Kunden per Mail. Diese Mails werden von der JEE5-Anwendung ausgelesen und verwaltet. Die internen Mitarbeiter kommen dann über eine Datenbank-Selektion an den "Auftrag". Durch anklicken in der Auftragsübersicht soll jetzt eben die zugehörige Planungsdatei vom Server direkt auf die Platte des Users geladen werden. Anschliessend soll das Planungssystem mit der Planung geladen werden.

Leider geht das ganze nicht direkt über die Mime-Erkennung und das starten der zugehörigen Anwendung mittels des "öffnen"-Schalters vom IE (oder ähnlich bei anderen Browsern). Die Datei muss für das Planungssystem in einem fixen lokalen Verzeichnis stehen. Ausserdem wird das Planungssystem per HTML-Object-Tag gestartet (das Programm läuft quasi auch im IE) und erhält dann über java-script die Befehle zum Laden einer Planungsdatei und ggf noch anderer Dinge.

In der alten Anwendung (mich Adobe Coldfusion) hab ich das über ein spezielles Applet gemacht. Das griff dann auf die Datei per URL zu. Das funktioniert aber so nicht mehr und nun suche ich einen anderen Weg. Kann theoretisch auch wieder ein Applet (signiert) sein um Zugriff auf die Rechnerresource zu bekommen. Aber dieser Download muss dann aber vom Server (z.B.) durch ein Servlet initiiert und dort die Daten bereitgestellt werden. Frage ist dann eben nur wie es der Client vom Servlet bekommt....

Hoffe das hilft etwas für das Verständnis,

Gruß
McD
 
Aha, ok. Dann könnts mit einer Java/JavaScript-Kombination funktionieren: ein Klick auf das File triggert ein signiertes Applet, das die Datei runterlädt und anschließend mittels JavaScript die Applikation startet. Schau mal z.B. hier.
 
Hi,

ja das ist nicht so ganz speziell mein Problem mit Javascript und Java. Das bekomme ich hin. Mein Problem ist eher wie ich das Applet dazu bekomme auf einen Stream zuzugreifen. Am Besten wäre dann wohl, das Applet mit dem Bean kommunizieren zu lassen über ein Remote-Interface des Beans. Ich will bzw kann nämlich nicht auf ein File auf dem Server per URL oder so zugreifen, da die Datei von einer Bean aus einem Dokumenten-Management-System geholt wird und mein Appserver selbst keinen weiteren Web-Server bereistellt.

Gruß
McD
 

Neue Beiträge

Zurück