javascriptでファイルダウンロードするには?
モダンブラウザでhtml属性の「download」が使えない...
仕方ないのでjavascriptを使いサーバー上のExcelファイルをダウンロードさせたい
ということがあったので備忘録的に...
File APIのBLOBを使うことで実現可能みたい!
1.BLOBオブジェクト作成
2.ファイル名を指定
3.window.URL.createObjectURLでBlobからURLを生成しそれをリンク先に設定
サンプルコード
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> </head> <body> <div id="result"></div> <script> let blob = new Blob(['あいうえお'],{type:"text/plain"}); let link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = '作ったファイル.txt'; link.innerText = 'ダウンロードします'; const result = document.getElementById('result'); result.appendChild(link); </script> </body> </html>
参考: