Force download "data:text/plain' URL
Ich Frage mich, ob es möglich ist, zu zwingen, einen browser (zumindest Chrome) herunterladen data:text/plain
URL.
Chrome download binäre URLs (z.B. data:application/zip;base64,...
), aber es lädt keine Dateien herunter, die angezeigt werden können im browser (z.B. text-Dateien).
Was ich schon versucht, ohne Glück so weit ist:
data:text/plain;content-disposition=attachment;filename=test.txt;...
Aber wie es scheint, ich kann nicht hinzufügen Header wie diesem.
Gibt es eine Möglichkeit, Chrome herunterladen data:text/plain,...
URL?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ab jetzt wurde es möglich
<a download>
in Chrom. MitdispatchEvent
können, laden Sie jede beliebige Zeichenfolge als Datei (sogar mit einem benutzerdefinierten Dateinamen), Wann immer Sie wollen. Hier ist eine utility-Funktion zu verwenden:Verwendung:
Es nutzt jQuery und das
webkit
Präfix, aber beide können vermieden werden.<a download>
scheint wirklich toll, und diese Funktion wird wie angekündigt in Chrom. (Ich bin schon mit jQuery) Wäre es möglich, dies zu ändern-Funktion auch in Firefox und/oder Safari? Ich weiß nicht genug überinitEvent
undBlob
undcreateObjectURL
zu wissen, was möglich ist. Danke.download
Attribut.Es verwendet HTML5-Attribut
download="filename.ext"
. (kein JS benötigt:)Mehr über:
http://www.w3.org/TR/html/links.html#downloading-resources
Browser-Unterstützung lassen sich auf http://caniuse.com/download
(Wie jetzt, 2013, keine IE noch Safari-Unterstützung)
Ich denke, Sie können einen fallback für nicht-unterstützende Browser: verwenden Sie JS zu ändern Wert von
href="..."
die URL des server-Skript (die zurückkehren wird der Inhalt der Datei mit den entsprechenden HTTP-headerContent-disposition: attachment;filename=filename.txt
).Was ich Tat, war das senden der Daten an einen server, der sendet Sie zurück mit der folgenden HTTP-header:
Ich weiß nicht, wie diese, aber es funktioniert ziemlich gut.
Diese funktioniert wie die Hölle ...
Hier ist ein Reine Javascript-Lösung zum erstellen einer blob-und text-download als text-Datei