CSVファイルをダウンロードしたい

[code]

    @RequestMapping(value = "/download", method = RequestMethod.GET)
    public ResponseEntity<byte[]> download() throws IOException {
        HttpHeaders h = new HttpHeaders();
        h.add("Content-Type", "text/csv; charset=MS932");
        h.setContentDispositionFormData("filename", "hoge.csv");
        return new ResponseEntity<>("あ,い,う,え,お".getBytes("MS932"), h, HttpStatus.OK);
    }
    
[/code]

<http://blog.okazuki.jp/entry/2015/07/18/220959>  
上記サイト様を見ますと、これでCSVファイルをダウンロードできるようにうかがえますが、  
new ResponseEntity<>("あ,い,う,え,お".getBytes("MS932"), h, HttpStatus.OK)  
上記の時点で、"あ,い,う,え,お"を書き込んだ"hoge.csv"というファイルをローカル（Windowsのダウンロードディレクトリなど）  
にダウンロードするということなのでしょうか。

試しに上記をjavascriptで呼んでみたのですが、  
結果ブラウザに"あ,い,う,え,お"と表示されるのみとなりました。  
CSVファイルなどをローカルにダウンロードする場合どのようにすべきなのでしょうか。

javascript側

[code]

      $.ajax({
            type:"post",
            url:"/download",
            contentType: 'application/json',
            dataType: "html"
        }).done(function(responseData, status, jqXHR) {
        }).fail(function(responseError, status, errorThrown) {
        });
    
[/code]




ファイルがダウンロードできるかどうか確認したい、ということであれば、Webブラウザで  
<http://localhost:8080/download> (※デフォルト設定の場合)  
へアクセスすれば良いです。

Javascriptを利用してダウンロードしたい、ということであれば、例えば

  * [javascript - JavaScriptからファイルをダウンロードさせるのはどうしたら良いですか？ - スタック・オーバーフロー](https://ja.stackoverflow.com/a/302/2808)

に書かれているような形で可能でしょう。

[code]

    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/download', true);
    xhr.responseType = 'arraybuffer';
    xhr.onload = function(e) {
        var blob = new Blob([this.response]);
        var url = window.URL || window.webkitURL;
        var blobURL = url.createObjectURL(blob);
    
        var a = document.createElement('a');
        a.download = "hoge.csv";
        a.href = blobURL;
        a.click();  
    };
    
    xhr.send();
    
[/code]

その他参考:

  * [Javascript to csv export encoding issue - Stack Overflow](https://stackoverflow.com/q/19492846/4506703)
  * [バイナリファイルをAjaxで取得する際に注意する点 - Qiita](http://qiita.com/tom_konda/items/484955b8332e0305ebc4)




ファイルがダウンロードできるかどうか確認したい、ということであれば、Webブラウザで  
<http://localhost:8080/download> (※デフォルト設定の場合)  
へアクセスすれば良いです。

Javascriptを利用してダウンロードしたい、ということであれば、例えば

  * [javascript - JavaScriptからファイルをダウンロードさせるのはどうしたら良いですか？ - スタック・オーバーフロー](https://ja.stackoverflow.com/a/302/2808)

に書かれているような形で可能でしょう。

[code]

    var xhr = new XMLHttpRequest();
    xhr.open('GET', '/download', true);
    xhr.responseType = 'arraybuffer';
    xhr.onload = function(e) {
        var blob = new Blob([this.response]);
        var url = window.URL || window.webkitURL;
        var blobURL = url.createObjectURL(blob);
    
        var a = document.createElement('a');
        a.download = "hoge.csv";
        a.href = blobURL;
        a.click();  
    };
    
    xhr.send();
    
[/code]

その他参考:

  * [Javascript to csv export encoding issue - Stack Overflow](https://stackoverflow.com/q/19492846/4506703)
  * [バイナリファイルをAjaxで取得する際に注意する点 - Qiita](http://qiita.com/tom_konda/items/484955b8332e0305ebc4)

