2016-03-23 3 views
1

Ich habe gerade heute über die Blob() API entdeckt, die versucht, Text in eine Datei von einigen input und span Elementen auf meiner Website herunterzuladen. Das Problem ist, dass der Blob(), egal welchen Typ ich gebe, alle Kontrollcodes entfernt, zumindest die wesentlichen wie \ n \ r.Welcher Typ lässt Steuercodes die Blob() API in Javascript durchlaufen?

Dies ist der Code, den ich unter Verwendung von Daten als ASCII-Datei aufgebaut herunterladen:

function saveTextAsFile2(){ 
    var textToWrite = document.getElementById("inputTextToSave").value; 
    var textFileAsBlob = new Blob([textToWrite], {type:'text/plain'}); 
    var fileNameToSaveAs = document.getElementById("inputFileNameToSaveAs").value; 

    var downloadLink = document.createElement("a"); 
    downloadLink.download = fileNameToSaveAs; 
    downloadLink.innerHTML = "Download File"; 
    if (window.URL != null) 
    { 
     // Chrome allows the link to be clicked 
     // without actually adding it to the DOM. 
     downloadLink.href = window.URL.createObjectURL(textFileAsBlob); 
    } 
    else 
    { 
     // Firefox requires the link to be added to the DOM 
     // before it can be clicked. 
     downloadLink.href = window.URL.createObjectURL(textFileAsBlob); 
     downloadLink.onclick = destroyClickedElement; 
     downloadLink.style.display = "none"; 
     document.body.appendChild(downloadLink); 
    } 

    downloadLink.click(); 
} 

habe ich versucht, diese Arten ohne Erfolg ...

{type:'octet/stream'} 
{type:'file'} 

Wenn die Funktion der aufgerufen wird, Text in einem Textfeld-Elemente wie folgt angezeigt:

enter image description here

Wenn heruntergeladen, jedoch in der Datei sieht es wie folgt aus:

  • Linie 1 - Feine Linie 2 - Linie 3

Wenn jemand erklären könnte, wie dies sollte für den Steuercodes eingestellt wird Durch den Download gehen, würde ich mich sehr freuen.

Grüße,

DK

Antwort

0

entdeckte ich die Antwort, während die Dinge zu testen. Es stellt sich heraus, dass MS NotePad die Steuercodes ignorierte, wenn sie durch das Blob() kommen. Alle anderen Editoren erkennen die Steuercodes! Wackey Sachen von MS! Um dieses Problem zu vermeiden, da ich standardmäßig NotePad mit den "* .txt" -Dateien verwende, muss ich es mit einer anderen Erweiterung herunterladen und mit einem der anderen Editoren starten.

Vielen Dank an alle, die versucht haben zu helfen, indem Sie die Frage gelesen haben.

Der gute alte Reagan-Slogan, Vertrauen, aber verifizieren MS-Produkte noch hält!

DK