我尝试使用一个字符串(称为'摘要')创建一个文本文件作为唯一内容。摘要由许多不同的行组成,所以我使用' \ n'非常多。但是,创建的文本文件将字符串写入一行。为什么' \ n被忽略?
这是我使用的功能:
function writeToTxt(summary){
var fileType = "text/txt";
var fileName = Date.now()+".txt";
var blob = new Blob([summary], { type: fileType });
var a = document.createElement('a');
a.download = fileName;
a.href = URL.createObjectURL(blob);
a.dataset.downloadurl = [fileType, a.download, a.href].join(':');
a.style.display = "none";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
setTimeout(function() { URL.revokeObjectURL(a.href); }, 1500);
}
谢谢!
答案 0 :(得分:2)
您的文件创建代码很好,但\n
不是Windows上的换行符(它位于* nix上)。如果您在Windows上查看该文件,那可能就是您没有看到换行符的原因。对于Windows,它是\r\n
。
如果我使用\r\n
,您的代码在Windows上运行正常,如果我只使用\n
,则在* nix上运行。 (许多* nix工具也会处理\r\n
行结尾,那里有很多类似Windows的文本文件......)