1
我今天刚刚发现了有关Blob()API,试图从我网站上的某些input
和span
元素下载文本到文件中。问题在于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元素:
当下载的时候,然而,在该文件中,它看起来是这样的:1
- 线 - 细线2 - 3号线
如果任何人能解释这是如何应设置为控制代码通过下载,我会很感激。
问候,
DK