Forum: PC-Programmierung Mit Javascript generierte (web)Seite zum Download auffordern (ohne PHP)


von Harald (Gast)


Lesenswert?

Hallo,

ich möchte über den Browser eine Hexfile generieren.

mit Javascript gebe ich diese an eine neue Seite weiter:
1
        var hexausgabe = open("about:blank", "Hexfile");
2
  doc=hexausgabe.document
3
  doc.open();
4
        doc.write('<META HTTP-EQUIV="Content-Type" CONTENT="application/force-download">');
5
doc.write('<META HTTP-EQUIV="Content-Disposition" CONTENT="attachment; filename=parameter.hex"> ');
6
7
  doc.write(document.getElementById("hexoutput").value);
8
  doc.close();

Ich möchte jetzt dass der Nutzer automatisch aufgefordert wird die Seite 
zu speichern.

Vielleicht weiß jemand von euch wie eine Lösung aussieht (mit Javascript 
und HTML)

danke
harald

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Harald schrieb:
> Vielleicht weiß jemand von euch wie eine Lösung aussieht (mit Javascript
> und HTML)
Garnicht. In dem Momment wo dein JavaScript drankommt, hat der Browser 
schon entschieden, dass es sich um ein HTML Dokument handelt, außerdem 
ist der "Inhalt" deines Dokumentes bereits sehr viel mehr als die 
generierten HEX Werte...

von Mark B. (markbrandis)


Lesenswert?

Vielleicht meinte er, dass automatisch zum Download von parameter.hex 
aufgefordert werden soll?

von Harald (Gast)


Lesenswert?

@läubi:
danke, das habe ich mir schon fast gedacht.

Dann muss wohl ein "echtes" Programm schreiben.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Datei muss nur an den Client gesendet werden, und das mit korrekt 
gesetzten MIME-Headern.

Wenn da "application/octet-stream" steht, ist das für den Browser 
automatisch ein Download, und er sollte sich sinnvoll verhalten 
(entweder direkt herunterladen oder fragen, was mit dem Download 
geschehen soll).

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Die Datei muss nur an den Client gesendet werden, und das mit korrekt
> gesetzten MIME-Headern.
Ja schon, nur rein auf clientseite nur mit JS wird das nix werden...

von Edding (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Wenn da "application/octet-stream" steht, ist das für den Browser
> automatisch ein Download, und er sollte sich sinnvoll verhalten

Betonung auf "Sollte". Der IE tanzt (wie immer) aus der Reihe. Bei 
"octet-stream" speichert der nicht direkt, sondern sucht in dem 
Dateinamen aus der URL nach ihm bekannten Extensions, und verfährt dann 
entsprechend.

Stammt wohl noch aus der Zeit der ersten IIS-Versionen, die ausser HTML 
und Octet-Stream keine anderen Mime-Types kannten.

Deswegen: Absichtlich ungültigen Phantasie-Mimetype schicken.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.