Символ новой строки в выходном файле

когда я пытаюсь написать строку с несколькими строками в выходной текстовый файл, символы новой строки не сохраняются, и все содержимое печатается на одной строке.

в конкретном у меня есть кнопка со слушателем по щелчку с связанной этой функцией:

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

файл правильно загружен, но string1, string2 и string3 находятся в одной строке.

любое предложение?

2 ответов


Я думаю, вам может потребоваться кодировать ваши данные, что вы можете сделать с encodeURIComponent().

попробуйте это:

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

использовать encodeURIComponent(). См. рабочий пример ниже.

var downloadButton = document.getElementById('download');
var textToSend = encodeURIComponent("string1\r\nstring2\r\nstring3");
downloadButton.setAttribute('href', 'data:text/plain;charset=utf-8,' + textToSend);
<a id="download" download="output.txt">Download</a>