2015-11-02 39 views
6

Bir çıkış metni dosyasına birden çok satır içeren bir dize yazmaya çalıştığımda, newline karakterleri korunmaz ve tüm içerik tek bir satıra yazdırılır.Çıkış dosyasında yeni satır karakteri

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); 
} 

doğru İndirilen dosya, ancak dize1, dize2 ve String3 aynı satırda şunlardır: özgü olarak

Ben ilişkili bu işlevle tıklamada bir dinleyici olan bir düğme vardır.

Herhangi bir öneriniz var mı?

+0

kullandığınız tarayıcı ve os? – baao

cevap

4

Verilerinizi encodeURIComponent() ile yapabileceğiniz kodlama yapmanız gerekebilir.

bu deneyin:

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

Teşekkürler, bu sorunu çözdü! – Andrea

3

kullanın encodeURIComponent(). Aşağıdaki çalışma örneğine bakın.

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>

+0

Cevabınız için teşekkür ederiz. Musefan'ın cevabını sadece önceki olduğundan seçtim – Andrea

İlgili konular