Generierte Datei an Browser senden

Status
Nicht offen für weitere Antworten.
M

Matty2

Gast
Hallo Leute,

wie schaffe ich es nach dem Serverseitigem-Generieren einer Datei (bspw. einer Text-Datei die ich mit Werten aus einem HTML-Formular fülle) diese an den Browser per Klick zu senden?

Mit einem Klick auf "generieren" soll also die Text-Datei generierte werden, irgendwo temporär auf dem Server gespeichert werden (das bekomm ich hin) und anschließend direkt an den Nutzer als "Download" geschickt werden. Dass das Download-Fenster crossbrowser aufplobbt.

Wie bekomme ich das hin? Finde dazu nirgends etwas... vielleicht verwende ich aber auch die falschen Suchbegriffe.

Danke für jegliche Hilfe :)
 
S

SlaterB

Gast
ein Server schickt NIE selbstständig irgendwas an einen Client, schon gar nicht im Web mit Browser & Co.

der Client muss nach einer gewissen Zeit erneut anfragen,
im Web kann das mit Technologien wie AJAX/ JavaScript auch ohne User-Eingabe passieren

---------

zu makis Antwort:
meine zählt nur, falls du nicht den Normalfall 'Anfrage -> Textdatei als Antwort' meinst
 
M

Matty2

Gast
maki: Danke,dass schau ich mir mal an.

SlaterB: Ja der Klick auf "generieren" löst schon einen Ajax-Request aus. Kann ich da nicht irgendwie als Response die Datei zurückgeben und den Browser ein Download-Fenster prompten lassen?
 
S

SlaterB

Gast
ich kann dazu keine Details nennen und dich nebenbei darauf hinweisen, dass das eine gute Frage für ein JavaScript/ Ajax-Forum wäre,
das Problem ist bestimmt unabhängig davon ob der Server in Java geschrieben ist oder in PHP
 
M

Matty2

Gast
Also das geht jetzt mit diesem Streaming Servlet... (übrigens muss ich ein generiertes RTF "verschicken".

Im FireFox klappt das auch mit dem MIME "application/rtf". Da kann ich sogar auf "öffnen" klicken und Word geht direkt auf... im IE geht das Download-Prompt zwar auch auf, nur er erkennt nicht welche Datei das ist und ich kann sie nur als "dateiname" speichern (es wird nicht die Dateiendung ".rtf" vorgeschlagen wie im FF) ...

Jemand ne Idee warum das so ist?

Danke :)
 
M

maki

Gast
In dem Beispiel fehlt
Code:
response.setHeader("Content-Disposition", "attachment;filename=\"" +"derEigentlicheDateiname"+ "\"");
kommt gleich nachdem die Header gesetzt wurden.

Ansonsten nutze ich das hier:
Code:
	private String getContentType(java.io.File file) {
		String contentType = null;

		MimetypesFileTypeMap mimeTypesMap = new MimetypesFileTypeMap();

		contentType = mimeTypesMap.getContentType(file);

		return contentType;
	}
um, den Contenttype zu ermitteln, MimetypesFileTypeMap gehört zum java activation framework.
 
M

Matty2

Gast
Habs gelöst, dass hier schafft Abhilfe:
Code:
StringBuilder type = new StringBuilder("attachment; filename=test.rtf");
  		response.setContentType("application/octet-stream");
 		response.setHeader("Content-Disposition", type.toString());

Dadurch kann ich sogar den vorgeschlagenen Dateinamen festlegen *froi*
Und es funzt im FF / IE / Chrome ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rudolf Servlet Zur Laufzeit generierte Datei zum Herunterladen anbieten Web Tier 2
D Generierte Dateien im Servlet und Pfade Web Tier 9
E Spring FileNotFoundException obwohl Datei da ist Web Tier 5
D jar datei Web Tier 12
S JSF Eine XHTML-Datei in zwei andere XHTML integrieren Web Tier 0
F JSP jSP Datei mit normalem Java Programm auslesen? Web Tier 5
S xhtml Datei & Webspace Web Tier 8
R JSF Bilder aus CSS Datei werden nicht angezeigt. Web Tier 2
M log4j2 - RollingFile Datei bleibt leer Web Tier 1
V Name und Pfad der Datei in JSF Web Tier 0
K Internationalisierung über Properties Datei Web Tier 6
M JSF JSP, Facelets und einbinden einer js-Datei Web Tier 2
H XML Datei mit Formular eingaben Füllen JSP Web Tier 7
H Relativer Pfad für XML-Datei in JSP-Anwendung Web Tier 3
S JSP Erzeugten JSP HTML-Quelltext in html-Datei speichern Web Tier 4
H Servet Datei schreiben Web Tier 6
G Deploy und undeploy - wie kann meine WAR Datei das mitbekommen? Web Tier 2
J Servlet Manuelles Rendern einer JSF Datei Web Tier 4
C JSP Datensatz mit JSP aus XML-Datei löschen Web Tier 6
A Wie in JSP lokale Datei verarbeiten? Web Tier 8
N Problem mit Datei Streaming Web Tier 2
J JSP - Datei einlesen Web Tier 15
S Lesender Zugriff auf Datei im Webprojekt Web Tier 2
E Servlet zum speichern einer Datei in einer Datenbank Web Tier 3
I Tomcat aktualisiert CSS - Datei nur ab und zu Web Tier 4
L Unter JSP eine XML Datei erstellen Web Tier 3
J Doppeltes und-Zeichen in JSF Datei Web Tier 4
I Export in eine CSV - Datei und PDF Web Tier 5
G Externe Bibliotheken in war-Datei angeben Web Tier 8
F Log4J Konfiguration in .war Datei Web Tier 4
U access denied bei Datei Schreiben mit Java unter Linux trotz gesetzter Rechte Web Tier 2
M Datei öffnen aus JSF-Anwendung Web Tier 3
O relativer Pfad zu properties Datei Web Tier 8
M JSF: Parameterübergabe an Properties-Datei aus JSF-Tag heraus? Web Tier 4
F IE stellt tif-Datei kryptisch dar Web Tier 3
F Datei von bean aus laden Web Tier 3
G Tomcat findet angeblich die Datei nicht. Web Tier 8
R Datei aus Servlet öffnen Web Tier 18
F [servelt] datei lesen? Web Tier 5
I Country von Browser bekommen Web Tier 7
M JSP File Browser Web Tier 9
J mehrere browser-tabs gleichzeitig Web Tier 11
H JSF JSF 2.0 (Primefaces) commandLinks mit action="mypage.xhtml" ohne die URL im Browser zu ändern Web Tier 8
I Servlet vor Browser URL-Direktzugriff schützen Web Tier 3
E JSP Browser Tab Session Web Tier 7
H JSF - falsche HTTP-Adresse im Browser Web Tier 8
J Browser-Client von Server aus ansprechen Web Tier 7
R JSF und Browser Refresh Web Tier 7
J location response-header? Browser-Back-Button "deaktivieren" Web Tier 9

Ähnliche Java Themen

Neue Themen


Oben