• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Link zu dynamisch generierten Dateien

Status
Für weitere Antworten geschlossen.

Kaiser

Neues Mitglied
Hallo zusammen,

ich würde gerne folgendes realisieren, weiss jedoch nicht genau ob es mit HTML Bordmitteln geht.

Ich habe ein Programm in C++ geschrieben, das zusätzlich als Webserver dient um diverse Logeinträge im Browser anzuzeigen. Das Anzeigen in HTML klappt prima, jetzt möchte ich aber einen Link anzeigen, der mir die Daten in eine .csv Datei schreibt. Es soll dann praktisch möglich sein, per rechter Maustaste mittels "speichern unter..." diese Datei zu speichern. Da die Datei jedoch nicht existiert sondern generiert wird, ist natürlich die Zieladresse etwas kryptisch. Der Code sieht momentan folgendermaßen aus:
Code:
<a href="http://192.168.78.20/ListLog=2.csv" type="text/comma-separated-values">Download list as .csv file</a>
Nun wird mir natürlich beim Download eine Datei Namens "ListLog=2.csv" vorgeschlagen.

1) Ist es möglich, diesen Namen direkt in HTML zu ändern?
2) Ist es möglich, beim Druck auf den Link direkt das Downloadfenster zu öffnen, ohne den Umweg über die rechte Maustaste? Bislang wird der Text unformatiert im Browser dargestellt.


Vielen Dank für eventuelle Lösungsvorschläge.


Schöne Grüße, Kaiser

Hallo,

zum Punkt 2 habe ich nun eine Antwort gefunden. Es hat ausgereicht, vor dem HTML Code folgendes zu senden:
Code:
HTTP/1.0 200 OK\nContent-Type: text/comma-separated-values\n\n
Darauf hin wurde mir automatisch ein Dialog angezeigt, ob Datei mit Excel öffnen oder speichern.
Eine Lösung zum setzen des Dateinamens hab ich leider jedoch noch nicht gefunden.


Schöne Grüße, Kaiser
 
Zuletzt bearbeitet von einem Moderator:
Werbung:
Solche Informationen wie den Content-Type musst du immer im Header übergeben, das hast du schon richtig erkannt. Den Dateinamen der herunterzuladenden Datei kannst Du ebenso festlegen:

Code:
Content-Disposition: attachment; filename="downloaded.pdf

Weitere Möglichkeiten stehen z.B. im php-Manual der Funktion header() (auch wenn du C++ verwendest - die header sind vom Aufbau her immer gleich): PHP: header - Manual
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben