2016-03-23 41 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

相关问题