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