a タグの download 属性でダウンロード 従来は Content-Disposition で「ファイルに保存」としていた これまで、サーバーからのデータを「ダウンロードしてファイルに保存」するには、サーバーからクライアントへの HTTP レスポンスを送信するときに次のような HTTP ヘッダーを送る必要がありました。 Content-Disposition: attachment; filename="foo.png" ブラウザ側では、Content-Disposition というヘッダーをみることで、そのコンテンツをそのままインラインで表示するのではないということを知ることができます。 言い換えると、Content-Disposition というヘッダーがある場合に、ブラウザはそのページにナビゲートするのではなく、これからサーバーから送られてくるデータは今のページのアタッチメント
![ファイルをダウンロード保存する方法 - JavaScript 入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/190195d7125cc508dcd41b356c6e39baadef85bf/height=288;version=1;width=512/https%3A%2F%2Fjavascript.keicode.com%2Fimg%2Fog-image-1.png)