2016-03-23 39 views
1

我今天剛剛發現了有關Blob()API,試圖從我網站上的某些inputspan元素下載文本到文件中。問題在於Blob(),不管我給它什麼類型,都會刪除所有的控制代碼,至少是像\ n \ r這樣的基本代碼。什麼類型可以讓控制代碼通過Javascript中的Blob()API?

這是我使用的下載構造爲ASCII文件數據的代碼:

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(); 
} 

我想這些類型都無濟於事......

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

當函數被調用文本如下被顯示在TEXTAREA元素:

enter image description here

當下載的時候,然而,在該文件中,它看起來是這樣的:1

  • 線 - 細線2 - 3號線

如果任何人能解釋這是如何應設置爲控制代碼通過下載,我會很感激。

問候,

DK

回答

0

我發現了答案,在測試的東西。事實證明,MS NotePad在通過Blob()時忽略了控制代碼。所有其他編輯器都能識別控制代碼! Wackey來自MS的東西!爲了避免這個問題,由於我默認使用「* .txt」文件記事本,我將不得不下載一個不同的擴展名,並將其與其他編輯器之一進行啓動。

謝謝所有試圖通過閱讀問題來提供幫助的人。

好老里根的口號,信任,但驗證MS產品仍然成立!

DK

相關問題