当我尝试将包含多行的字符串写入输出文本文件时,不保留换行符,并且所有内容都打印在一行上。

具体来说,我有一个带有监听器的按钮,该监听器在单击时具有与此功能相关的功能:

function (e) {
    this.downloadButton.setAttribute("download", "output.txt");
    var textToSend = string1+"\r\n"+string2+"\r\n"+string3;
    this.downloadButton.setAttribute('href', 'data:text/plain;charset=utf-8,' + textToSend);
}

正确下载了文件,但string1,string2和string3在同一行上。

有什么建议吗?

最佳答案

我认为您可能需要对数据进行编码,可以使用 encodeURIComponent() 进行编码。

试试这个:

var textToSend = string1+"\r\n"+string2+"\r\n"+string3;
textToSend = encodeURIComponent(textToSend);
this.downloadButton.setAttribute('href', 'data:text/plain;charset=utf-8,' + textToSend)

09-25 21:55