2017-08-21 5 views
2

JavaScriptコードを書いてブラウザにファイルをダウンロードしています。私は文字列内のファイルのバイトを取得することができ、私はファイルを作成し、そこからダウンロードを開始する関数に文字列を渡したいと思います。テキストからJavaScriptファイルを作成する方法

私はちょうどのようなHTMLを通じてダウンロードするために誰かのためにサーバー上のファイルを保存しないようする必要があります。ここでは

<a href="./some-file.pdf">file</a> 

は正常に動作します私がこれまで持っているコードですが、私は拡張子を変更する必要がありますファイルの内容を変更してデータと一致させることができますが、これは私が把握していない部分です。

function download(data, filename = "aserc", type = ".txt") { 
    var file = new Blob([data], {type: type}); 
    if (window.navigator.msSaveOrOpenBlob) 
    { 
     window.navigator.msSaveOrOpenBlob(file, filename); 
    } else { 
     var a = document.createElement("a"), url = URL.createObjectURL(file); 
     a.href = url; 
     a.download = filename; 
     document.body.appendChild(a); 
     a.click(); 
     setTimeout(() => { 
      document.body.removeChild(a); 
      window.URL.revokeObjectURL(url); 
     }, 0); 
    } 
} 

これはファイルをダウンロードしますが、.txtファイルではありません。 このコードを使用してファイルの種類を変更するにはどうすればよいですか?

+0

あなたはこれを試してみてください、http://jsfiddle.net/UselessCode/qm5AG/ –

+0

@KrushnakantLadaniありがとうございます、私はそれが動作すると思います –

+0

ブロブタイプはMIMEタイプ、 'text/plain'おそらく?拡張子...ファイル名は 'aserc.txt' –

答えて

0

ファイル拡張子をファイル名に追加します。このようにドキュメントでBlobオブジェクトを探し

a.download = filename + ".txt"; 

が、これはあなたが目を保つべきものかもしれテキストを指定

var file = new Blob([data], {type: 'plain/text'}); 
にブロブ宣言を変更するには、type属性のための「プレーン/テキスト」になります
関連する問題