javascriptでローカル環境にファイルを保存する – FileSaver.js –
FileSaver,js は、ブラウザでファイルを生成し、ローカル環境にファイルを保存するライブラリ。
ブラウザの標準機能を使う場合、ユーザが明示的にダウンロード指示を出す必要があるだけでなく、ファイル名を指定しないといけないなど、何かと面倒くさい。このライブラリを使うことで、プログラム側で任意のタイミングでファイルを生成し、適切な名前を指定して保存することが可能になる。
HTML側 (ライブラリの読み込み)
<script src="/jslib/FileSaver.js"></script>
JavaScript側 (オブジェクトをJSON形式のファイルとして保存)
var anObject = hoge();
var space = 2;
var fname = 'rw_station_aux.json';
var jsonString = JSON.stringify(anObject, null, space);
// ファイルにしたい内容をJSON形式でシリアライズ
// タイプを指定してBlobオブジェクトを生成。対象を [ ] で囲む。
var blob = new Blob([jsonString], {
type : 'text/plain'
});
// fnameで指定した名前でファイルを保存する
saveAs(blob, fname);
