2015-11-02 15 views
6

出力テキストファイルに複数行の文字列を書き込もうとすると、改行文字は保存されず、すべての内容が1行に出力されます。出力ファイルの改行文字

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

正しくダウンロードされたファイルが、文字列1、文字列2とはstring3が同じ行にある:私は関連するこの機能を備えたクリックのリスナーとのボタンを持っている特定ので

提案がありますか?

+0

あなたが使用しているブラウザとOS? – baao

答えて

4

あなたはencodeURIComponent()でデータをエンコードする必要があるかもしれないと思います。

はこれを試してみてください:

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

ありがとう、これは問題を解決しました! – Andrea

3

使用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>

+0

ご返信ありがとうございます。私はmusefanの返答を前の – Andrea

関連する問題