【JavaScript】テキストをファイルとしてダウンロードする関数

2018年9月27日

テキストエリアに記述したテキストをファイルとしてダウンロードしたかったので作成。

コード

function downloadAsTextFile( fileName, content ) {
    const BLOB              = new Blob( [ content ], { 'type': 'text/plain' } );
    const CAN_USE_SAVE_BLOB = window.navigator.msSaveBlob !== undefined;

    if ( CAN_USE_SAVE_BLOB ) {
        window.navigator.msSaveBlob( BLOB, fileName );
        return;
    }

    const TEMP_ANCHOR   = document.createElement( 'a' );
    TEMP_ANCHOR.href    = URL.createObjectURL( BLOB );
    TEMP_ANCHOR.setAttribute( 'download', fileName );

    TEMP_ANCHOR.dispatchEvent( new MouseEvent( 'click' ) );
};

使い方

引数にファイル名と中身となるテキストを指定し、呼び出すだけ。

downloadAsTextFile( 'sample.txt', 'テキスト' );