Wie kann ich eine Datei generieren und bieten es zum download in plain javascript?

Ich würde gerne eine text-Datei erstellt in der javascript-dynamicly, dann bieten Sie diese zum download. Derzeit bekomme ich diese zu arbeiten, um einen Abschluss mit einer der folgenden Lösungen:

content = "abc123";
document.location = "data:text/octet-stream," + encodeURIComponent(content);

ODER

content = "abc123";    
var bb = new BlobBuilder();
bb.append(content);
var blob = bb.getBlob();
blob = blob.slice(0, blob.size, 'text/octet-stream');
var fr = new FileReader(); 
fr.onload = function() {document.location = this.result;}
fr.readAsDataURL(blob);

Allerdings haben diese Beiden Lösungen, wenn der download-box erscheint, wird nur eine Standard-Dateinamen von "download" in den speichern unter-Dialog.

Meine Frage ist im Grunde, wie kann ich dies ändern, um einen spezifischen Dateinamen, z.B. 'readme.txt' oder ' - Szene.obj'

Beachten, dass der Datentyp wurde zuvor 'text/plain' allerdings wenn dieser verwendet wird, das Dokument wechselt auf die neue text-Dokument statt und bietet es zum download (als text/octet-stream scheint zu tun).

Ich will keine flash-Lösung, javascript/html5 nur Vorschläge bitte.

Cheers, Josh

InformationsquelleAutor Josh Mc | 2011-05-30
Schreibe einen Kommentar