JavaScript
HTML5

javascriptで生成したファイルをローカルに保存する

More than 1 year has passed since last update.

a要素のdownload属性にファイル名を付けるとそのファイル名でダウンロードされます。

ブラウザ対応状況: https://caniuse.com/#feat=download

function download(blob, filename) {

const objectURL = window.URL.createObjectURL(blob),
a = document.createElement('a'),
e = document.createEvent('MouseEvent');

//a要素のdownload属性にファイル名を設定
a.download = filename;
a.href = objectURL;

//clickイベントを着火
e.initEvent("click", true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
a.dispatchEvent(e);
}

//使用例
download(new Blob(['hello world']), 'hello.txt');