mikrocontroller.net

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


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

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

mit Javascript gebe ich diese an eine neue Seite weiter:
        var hexausgabe = open("about:blank", "Hexfile");
  doc=hexausgabe.document
  doc.open();
        doc.write('<META HTTP-EQUIV="Content-Type" CONTENT="application/force-download">');
doc.write('<META HTTP-EQUIV="Content-Disposition" CONTENT="attachment; filename=parameter.hex"> ');

  doc.write(document.getElementById("hexoutput").value);
  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

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Mark Brandis (markbrandis)
Datum:

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

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@läubi:
danke, das habe ich mir schon fast gedacht.

Dann muss wohl ein "echtes" Programm schreiben.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Edding (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.